Как написать сложное выражение географического расстояния в методе select() CodeIgniterPhp

Кемеровские программисты php общаются здесь
Anonymous
Как написать сложное выражение географического расстояния в методе select() CodeIgniter

Сообщение Anonymous »

Я пытаюсь избежать оператора типа $this->db->query($sql);. Я бы предпочел использовать методы построения запросов, но на данный момент не знаю, как это сделать.
Мой сокращенный необработанный запрос выглядит следующим образом:

Код: Выделить всё

select loc.distance,
loc.user,
loc.lat,
loc.lon,
baseinfo.firstname,
baseinfo.lastname,
(((acos(sin((".$this->db->escape($lat)."*pi()/180)) * sin((`latitude`*pi()/180))+cos((".$this->db->escape($lat)."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$this->db->escape($lon)." - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
FROM memb_geo_locations loc
Затем это становится немного более обширным, поскольку я достраиваю остальное с помощью потенциальных ЛЕВЫХ СОЕДИНЕНИЙ, JOINS и т. д.
Но этот парень..

Код: Выделить всё

(((acos(sin((".$this->db->escape($lat)."*pi()/180)) * sin((`latitude`*pi()/180))+cos((".$this->db->escape($lat)."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$this->db->escape($lon)." - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
Я не знаю, как это написать внутри метода select().

Подробнее здесь: https://stackoverflow.com/questions/154 ... ers-select

Вернуться в «Php»