Я две таблицы сессий и онлайнОбъединить два SQL-запрос
сессия
| id | time |
| 1 | 1413170771 |
| 2 | 1413174398 |
| 7 | 1413174567 |
онлайн является
| id | username | city | lat | lon |
| 1 | Jon | Toronto | 45.4642700 | 9.1895100 |
| 2 | Danny | Ottawa | 46.5645600 | 9.3456883 |
| 7 | Martin | Calgary | 46.6775339 | 9.5469944 |
мне нужно estract все время от сессии и все интернет-пользователей и закажите его для расстояний.
Например, если Мартин хочет видеть всех пользователей онлайн и расстояние от него результат должен быть
| id | Users | distance | time |
| 7 | Martin | 0 | 1413174567 |
| 1 | Jon | 100 | 1413170771 |
| 2 | Danny | 250 | 1413174398 |
Проблема заключается в том:
Мне нужно извлечь Martin Lat и долгота от онлайн-таблицы затем вычислить расстояние, на расстоянии я хочу использовать этот запрос
$R = 3959;
$lat= ???
$lon= ????
SELECT *, (
$R * acos(cos(radians($lat)) * cos(radians(lat))
* cos(radians(lon) - radians($lon)) + sin(radians($lat)) * sin(radians(lat)))) AS distance
FROM online
HAVING distance < $rad
ORDER BY distance
LIMIT 0 , 20"
Вы проверить на [PostGIS] (http://postgis.net/) проекта? Вам не нужно иметь дело с функциями триггера ... – vyegorov
Какая СУБД вы используете? Postgres или MySQL? Эти два очень разные –
Я не могу использовать PostGIS –