Я делаю проект в PHP. У меня есть таблица ресторанов с полями LAT
и LONG
. Я хочу получить Рестораны (со специфическим cuisine_id
), чье расстояние меньше 5km от USER
. Я использую ниже функцию для вычисления расстояния:Использование функции PHP во время запроса базы данных
// Function for Getting distance between two coordinates.
function getDistance($latitude1, $longitude1, $latitude2, $longitude2) {
$earth_radius = 6371;
$dLat = deg2rad($latitude2 - $latitude1);
$dLon = deg2rad($longitude2 - $longitude1);
$a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * sin($dLon/2) * sin($dLon/2);
$c = 2 * asin(sqrt($a));
$d = $earth_radius * $c;
return $d;
}
Можно ли использовать функцию при выборе записи из базы данных?
Может кто-то пожалуйста, скажите мне пример запрос для получения (с использованием в качестве LIMIT
значения) Ресторанов, которые находятся на расстоянии 5 км или менее (Пользователь LAT
и LONG
доступны) за один раз (если это возможно, используя выше getDistance
функция).
Вы либо использовать его для создания запроса mysql запускает или запускает mysql-запрос, а затем использует его для результатов. mysql не может запустить php-функцию как часть запроса – Anigel
«Вы либо используете его для генерации запросов mysql run» - Как я могу это сделать? Можете ли вы показать пример, поскольку я новичок в SQL. – noob
Учитывая, что вы не указали какие-либо сведения о своей базе данных, вам будет сложно ответить – Anigel