powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / написать сложное условие
5 сообщений из 5, страница 1 из 1
написать сложное условие
    #39073014
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица с координатами для гугловских карт.

надо выбрать те толки которые находятся в определённом радиусе от заданной точки!

нащёл функцию на js которая вычисляет растояние между двумя точками на карте:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var getDistance = function(p1, p2) {
  var R = 6378137; // Earth’s mean radius in meter
  var dLat = rad(p2.lat() - p1.lat());
  var dLong = rad(p2.lng() - p1.lng());
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) *
    Math.sin(dLong / 2) * Math.sin(dLong / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return d; // returns the distance in meter
};



пытаюсь переписать в условие для sql запроса. Получилось так:

Код: php
1.
2.
3.
4.
$formula = $radius." * (2 * ATAN2(SQRT(POW(SIN(RADIANS(`coor_x` - ".$main_lat.")), 2) +
					COS(RADIANS(".$main_lat.")) * COS(RADIANS(`coor_x`)) * POW(SIN(RADIANS(`coor_y` - ".$main_lgn.") / 2), 2),
                    SQRT(1 - POW(SIN(RADIANS(`coor_x` - ".$main_lat.")), 2)) + 
					COS(RADIANS(".$main_lat.")) * COS(RADIANS(`coor_x`)) * POW(SIN(RADIANS(`coor_y` - ".$main_lgn.") / 2), 2))))";



$main_lat - х координата заданной точки. $main_lgn - y координата заданной точки
coor_x, coor_y - координаты точек из таблицы

подставляю в запрос

Код: php
1.
$sth = $dbh->prepare("SELECT `point_id`, `point_name`, `coor_x`, `coor_y` FROM `points_table`   WHERE (".$formula.") < 1000");



запускаю. выполняется но возвращает пустой запрос. где я ошибся??
...
Рейтинг: 0 / 0
написать сложное условие
    #39073025
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarгде я ошибся??
Форумом ты ошибся. MySQL и JS даже пишутся по-разному.
...
Рейтинг: 0 / 0
написать сложное условие
    #39073027
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и про свою собственную тему выбор точек в определённом радиусе забыл.
...
Рейтинг: 0 / 0
написать сложное условие
    #39073037
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а на счёт условия не поодскажите что не правльно
...
Рейтинг: 0 / 0
написать сложное условие
    #39073112
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжение тут - 18259185
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / написать сложное условие
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]