Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数据库中查找最近的经度_Php_Mysql - Fatal编程技术网

Php 在数据库中查找最近的经度

Php 在数据库中查找最近的经度,php,mysql,Php,Mysql,我想用经度和纬度搜索,如果我想搜索某个地方(经度50.212221145,纬度30.02111454),那么我想要的结果是谁在我们的数据库中接近这些值(大约20公里),我该怎么做: 检查这个 SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(50.2122211145) ) + sin( radians(30.0211145

我想用经度和纬度搜索,如果我想搜索某个地方(经度50.212221145,纬度30.02111454),那么我想要的结果是谁在我们的数据库中接近这些值(大约20公里),我该怎么做:

检查这个

SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(50.2122211145) ) + sin( radians(30.02111454) ) * sin( radians( latitude ) ) ) ) 
AS distance 
FROM markers 
HAVING distance < 20 ORDER BY distance LIMIT 0 , 20;
选择id,(6371*acos(弧度(37))*cos(弧度(纬度))*cos(弧度(经度)-弧度(50.212221145))+sin(弧度(30.0211454))*sin(弧度(纬度)))
作为距离
从标记
距离小于20次,距离限值为0,20;

在查询“我有
lat
lng
中查看这个和这个@Ritu”,将它们更改为数据库的相应列名。比如
纬度
经度
。我想你的数据库里没有数据。所有的地方都很远。我的意思是距离超过25英里。将25替换为
2500
。以上是正在编写的查询。我在我的项目中使用了。其工作原理是填充数据库以获取更多值。请参见上面的屏幕截图