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

czq61nw1  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(244)

我在mysql数据库中有这个表。

这是我的php文件:

$user_latitude = 45.11123;
$user_longitude = 20.33445;

$query = "";

我想创建一个查询,它按距离用户位置($user\u latitude,$user\u longitude)的顺序返回id(表中的行)。我想通过使用mysql查询来实现这一点。

dluptydi

dluptydi1#

您可以使用下面的公式来计算距离。更多信息请查看这里和这里

$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。

相关问题