Codeigniter выбирает данные с несколькими идентификаторами [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Codeigniter выбирает данные с несколькими идентификаторами [дубликат]

Сообщение Anonymous »

Вот пример моего кода и объяснение того, что я пытаюсь сделать.

В начале кода я выбираю три переменные в своей базе данных. Затем я сравниваю их с функцией, которая определяет расстояние: если расстояние находится в пределах заданного расстояния, то у меня есть идентификатор этой записи. Это приведет к появлению нескольких идентификаторов. Может быть пять или ни одного, зависит от заданных переменных.

Что мне нужно знать, так это то, что как только я определил, какой идентификатор мне нужно использовать, мне нужно поместить его либо в переменную, либо в что-то еще, чем можно управлять. По сути, мне нужно взять список и снова запросить базу данных, чтобы получить список деталей из базы данных. Список вернет объекты, которые позже будут переданы в json_encode для обработки.

Мне нужно знать, как лучше всего поместить каждый идентификатор в переменную, передать его в запрос к базе данных и получить нужные мне результаты.

Я пробовал использовать $dbStation->where('_id', '34,33,45'), но он возвращает только первое значение. Мне нужно что-то вроде WHERE _id = 34 AND 33 AND 45, если это возможно.

Я использую Codeigniter для своей платформы, просмотрел документацию и не нашел решения.

РЕДАКТИРОВАТЬ: Теперь, когда у меня есть данные, выбранные из базы данных, мне нужно получить расстояние, которое будет отображаться в конце каждой записи. получено.

Example of json: {"details":[{"country":"United States","_id":"3892","lat":"39.954559","lng":"-82.837608","admin_level_1":"Ohio","locale":"Columbus"}]}


Вот то, что должно быть, имейте в виду, что расстояние не находится в базе данных, оно рассчитывается на лету.

Example of json: {"details":[{"country":"United States","_id":"3892","lat":"39.954559","lng":"-82.837608","admin_level_1":"Ohio","locale":"Columbus", "distance": "1.2 Mi"}]}


Есть идеи о том, как получить рассчитанное расстояние, которое будет добавлено в конец каждого результата?

$dbStations->select('lat');
$dbStations->select('lng');
$dbStations->select('_id');
$stations = $dbStations->get('stDetails');
foreach ($stations->result() as $station) {
$lat2 = $station->lat;
$lng2 = $station->lng;
$stId = $station->_id;
$distance = $this->distance->gpsdistance($lat1, $lng1, $lat2, $lng2, "M");
if ($distance select('country, _id, lat, lng, admin_level_1, locale');
$dbStations->where_in('_id', $stationArr);
$stations = $dbStations->get('stationDetails');
echo json_encode(array('stations' => $stations->result()));
}


Подробнее здесь: https://stackoverflow.com/questions/760 ... ltiple-ids
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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