Im ищет базу данных с широтой и долготой местоположения. Я хочу получить все местоположения в определенном радиусе.Поиск в радиусе PHP, MYSQL и Google Maps
Затем я кодирую возвращенные результаты в JSON и извлекаю данные с помощью ajax, однако я получаю неопределенную ошибку, означающую, что нет данных, возвращаемых из базы данных.
Может ли кто-нибудь увидеть, где я ошибаюсь?
Heres мой запрос
$sql="SELECT *, ACOS(SIN(RADIANS(`lat`)) * SIN(RADIANS($fLat)) + COS(RADIANS(`lat`))
* COS(RADIANS($fLat)) * COS(RADIANS(`lng`) - RADIANS($fLon))) * 6380 AS `distance`
FROM `markers`
WHERE ACOS(SIN(RADIANS(`lat`)) * SIN(RADIANS($fLat)) + COS(RADIANS(`lat`))
* COS(RADIANS($fLat)) * COS(RADIANS(`lng`) - RADIANS($fLon))) * 6380 < 10
ORDER BY `distance`";
$result = mysql_query($sql);
while($r = mysql_fetch_assoc($result)) $rows[] = $r;
echo json_encode($rows);
предложение: Попробуйте запрос без WHERE пункта (или проще ИНЕКЕ) и посмотреть, если вы может получить некоторые результаты в первую очередь. Разделите и победите, чтобы изолировать источник проблемы. глядя на расстояния, которые могут быть информативными. –
Спасибо за ответ. Просто удалил предложение where и ничего не получил, никаких других идей? – lnelson92
'SELECT * FROM markers' возможно? –