如何从mysql查询中获取距离(经度和纬度)[PHP,MySQL]

时间:2018-08-02 15:03:14

标签: php mysql

我在mysql数据库中有此表。 table

这是我的PHP文件:

$user_latitude = 45.11123;
$user_longitude = 20.33445;

$query = "";

我想创建一个查询,该查询返回距用户位置($ user_latitude,$ user_longitude)的距离的ID(表中行的ID)。 我想通过使用MySQL查询来做到这一点。

1 个答案:

答案 0 :(得分:1)

您可以使用以下公式计算距离。有关更多信息,请查看herehere

$query = mysql_query("SELECT id, (6371 * acos (cos (radians($user_latitude))* cos(radians(latitude))* cos( radians($user_longitude) - radians(longitude) )+ sin (radians($user_latitude) )* sin(radians(latitude)))) AS distance FROM table_name WHERE 1 ORDER BY distance DESC");

提供的距离将以公里为单位。如果需要里程,请使用3959而不是6371。