我在mysql数据库中有此表。
这是我的PHP文件:
$user_latitude = 45.11123;
$user_longitude = 20.33445;
$query = "";
我想创建一个查询,该查询返回距用户位置($ user_latitude,$ user_longitude)的距离的ID(表中行的ID)。 我想通过使用MySQL查询来做到这一点。
答案 0 :(得分:1)
您可以使用以下公式计算距离。有关更多信息,请查看here和here
$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。