Php 合并两个MySQL查询并获取两个邮政编码之间的距离
我想知道两个邮政编码之间的距离Php 合并两个MySQL查询并获取两个邮政编码之间的距离,php,mysql,geocoding,latitude-longitude,google-latitude,Php,Mysql,Geocoding,Latitude Longitude,Google Latitude,我想知道两个邮政编码之间的距离 HTML表单有一个字段,即邮政编码、英里(距离)\ 具有7000条记录的数据库结构 id | name | zip_code | lat | lng | status| MySQL查询 $query = "SELECT *, 3963 * acos(cos(radians(90-lat ))*cos(radians(90-'".$result['lat']."'))". "+sin(radians(90-lat ))* sin
HTML
表单有一个字段,即邮政编码、英里(距离)\
具有7000条记录的数据库结构
id | name | zip_code | lat | lng | status|
MySQL查询
$query = "SELECT *, 3963 * acos(cos(radians(90-lat ))*cos(radians(90-'".$result['lat']."'))".
"+sin(radians(90-lat ))* sin(radians(90-'".$result['lat']."'))".
"*cos(radians(lng- '".$result['lng']."'))) AS distance FROM table_name".
" WHERE memberLevel='basic' HAVING (distance < '".$miles."')
ORDER BY distance ASC";
$query=“SELECT*,3963*acos(弧度(90 lat))*cos(弧度(90-”。“$result['lat'])”。
“+sin(弧度(90 lat))*sin(弧度(90-)”$result['lat'].“)”。
“*cos(弧度(lng-”$result['lng'].“'))作为与表_name的距离”。
“其中memberLevel='basic'具有(距离<”、“$miles.”)
按距离排序ASC”;
我不知道什么是正确的MySQL查询,可以将距离与输入和存储的纬度、经度进行比较。您可以使用空间函数和空间类型列 这是一个使用空间函数的好例子! 也可以定义自定义函数
CREATE DEFINER=`test`@`%`函数`geoDistance`(`lon1`DOUBLE、`lat1`DOUBLE、`lon2`DOUBLE、`lat2`DOUBLE)
双倍回报
语言SQL
确定性
无SQL
SQL安全定义程序
注释“”
开始
宣布v加倍;
选择cos(弧度(纬度1))
*cos(弧度(lat2))
*cos(弧度(lon2)-弧度(lon1))
+正弦(弧度(拉特1))
*sin(弧度(lat2))变成v;
如果(v>1,06371000*acos(v)),则返回;
结束
然后打电话
选择大地距离(X(点1)、Y(点1)、X(点2)、Y(点2))
结果以米为单位
能否请您更具体地说明所需的结果集?什么控制行数?每行应该包含什么?您将为查询提供哪些参数?先生,我已经更新了我的问题