PHP_SQL根据当前坐标查询5公里以内的信息
2016-06-08 11:39
567 查看
最近在做一个类似于美团的功能,查询周边的商家,记录一下查询方法。
<?php
$latitude = $_GET['y']; //当前坐标y
$longitude = $_GET['x']; //当前坐标x
$distance = 5; //5公里以内的信息,这里的5公里为半径。
// 此查询无排序
$sql = "select * from weixin_map where sqrt( ( ((".$longitude."-Longitude)*PI()*12656*cos(((".$latitude."+Latitude)/2)*PI()/180)/180) * ((".$longitude."-Longitude)*PI()*12656*cos (((".$latitude."+Latitude)/2)*PI()/180)/180) ) + ( ((".$latitude."-Latitude)*PI()*12656/180) * ((".$latitude."-Latitude)*PI()*12656/180) ) )/2 < ".$distance;
// 加入排序,从最近到最近排序。
$sql = "select *, sqrt( ( ((".$longitude."-Longitude)*PI()*12656*cos(((".$latitude."+Latitude)/2)*PI()/180)/180) * ((".$longitude."-Longitude)*PI()*12656*cos (((".$latitude."+Latitude)/2)*PI()/180)/180) ) + ( ((".$latitude."-Latitude)*PI()*12656/180) * ((".$latitude."-Latitude)*PI()*12656/180) ) )/2 as dis
from weixin_map group by dis asc having dis <".$distance;
<?php
$latitude = $_GET['y']; //当前坐标y
$longitude = $_GET['x']; //当前坐标x
$distance = 5; //5公里以内的信息,这里的5公里为半径。
// 此查询无排序
$sql = "select * from weixin_map where sqrt( ( ((".$longitude."-Longitude)*PI()*12656*cos(((".$latitude."+Latitude)/2)*PI()/180)/180) * ((".$longitude."-Longitude)*PI()*12656*cos (((".$latitude."+Latitude)/2)*PI()/180)/180) ) + ( ((".$latitude."-Latitude)*PI()*12656/180) * ((".$latitude."-Latitude)*PI()*12656/180) ) )/2 < ".$distance;
// 加入排序,从最近到最近排序。
$sql = "select *, sqrt( ( ((".$longitude."-Longitude)*PI()*12656*cos(((".$latitude."+Latitude)/2)*PI()/180)/180) * ((".$longitude."-Longitude)*PI()*12656*cos (((".$latitude."+Latitude)/2)*PI()/180)/180) ) + ( ((".$latitude."-Latitude)*PI()*12656/180) * ((".$latitude."-Latitude)*PI()*12656/180) ) )/2 as dis
from weixin_map group by dis asc having dis <".$distance;
相关文章推荐
- Yii 安装二维码扩展Qrcode
- PHP压缩图片代码
- PHP服务端常用正则表达式
- php self与static的区别
- PHP学习笔记-字符串操作2
- oRTP分析
- 关于阿里云云虚拟主机上传php论坛代码的那点事
- yii2框架-yii2的操作action(十)
- php model与json_encode/json_decode
- webluker刷新缓存-php版
- 使用ContentProvider
- Yii2 yii2-imagine的使用
- PHP框架开发教程(一) 开发前的准备
- PHP写日志fwrite和file_put_contents的区别与性能
- PHP基础
- ThinkPHP中M方法与D方法有什么区别
- 00007-----连接mini2440开发板FTP
- 使用ContentProvider
- 按xml方式封装通信数据方法
- yii2 widget示例