Как рассчитать расстояние от широты / долготы в php?

Что я пытаюсь сделать, так это то, что у меня есть записи в базе данных, в которых хранится широта / долгота. Я хочу рассчитать расстояние между пользователями широта / долгота и записи широта / долгота (в БД). После этого я хочу повторить те, которые находятся на расстоянии менее 500 метров. Пока я могу сделать это с помощьюforeach.

<?php
mysql_connect("localhost", "beepbee_kunwarh", "kunwar") or die('MySQL Error.');
mysql_select_db("beepbee_demotest") or die('MySQL Error.');

$Lat = $_REQUEST['Lat'];
$long = $_REQUEST['long'];

$query = mysql_query("SELECT a.*, 3956 * 2 * ASIN(SQRT( POWER(SIN(($Lat - Lat) * pi()/180 / 2), 2) + COS($Lat * pi()/180) * COS(Lat * pi()/180) *POWER(SIN(($long - long) * pi()/180 / 2), 2) )) as distance FROM userResponse GROUP BY beepid HAVING distance <= 500 ORDER by distance ASC;");
$data = array();
while ($row = mysql_fetch_array($query)) {
    $data[] = $row;
}
echo json_encode($data);
?>

Ответы на вопрос(8)

Ваш ответ на вопрос