根据经纬度坐标计算距离sql语句

    //根据经纬度计算附近商家距离   
    /* @param $lng,经度
    *  @param $lat,纬度
    *  @param $distance  计算的距离
    *  @param $sort   根据距离排序
    */
 function NearStore($lng,$lat,$distance,$sort){
 $sql = "select *, sqrt( ( ((".$lng."-lng)*PI()*12656*cos(((".$lat."+lat)/2)*PI()/180)/180) * ((".$lng."-lng)*PI()*12656*cos (((".$lat."+lat)/2)*PI()/180)/180) ) + 
  ( ((".$lat."-lat)*PI()*12656/180) * ((".$lat."-   lat)*PI()*12656/180) ) )/2   as   distancefrom  表名   group  by distance  $sort  having   distance  <".$distance;
  $pdo->query($sql);}

1.在商家入驻填写资料是,获取商家经纬度,存入数据库中
2.查询时获取用户的地理位置坐标,经纬度,传入到上面函数中,距离可以自己定义,就可以获取用户当前地理位置附近的商家信息了

你可能感兴趣的:(php)