Получить определенную строку из массива в зависимости от значения - PullRequest
0 голосов
/ 02 февраля 2019

Выведите правую строку из массива, скомпилированного из базы данных mysql.

Я извлек информацию из базы данных (местоположений), содержащей три поля: id, name, city, в массив с именем $ array.Я хочу перебрать другую базу данных (события), в которой идентификаторы из первой базы данных (местоположения) хранятся в поле.При зацикливании я хочу отобразить соответствующее имя и город из базы данных местоположений.Возможно ли это без необходимости извлекать информацию каждый цикл?

Это моя первая попытка

$query = "Select id, name, city FROM locations WHERE typ = '1'";
$result = mysqli_query($conn, $query);
$row = array();
while ($row = mysqli_fetch_assoc($result)) {
$array[] = $row;
}

А потом я подумал, что могу сам указать ключ следующим образом:

$query = "Select id, name, city FROM locations WHERE typ = '1'";
$result = mysqli_query($conn, $query);
$row = array();
while ($row = mysqli_fetch_assoc($result)) {

$array[$row['id']] = $row;
}

Но я не мог понять, как отобразить правильный ряд.

1 Ответ

0 голосов
/ 02 февраля 2019

Вы можете объединить обе таблицы в одном запросе, используя что-то вроде этого:

Select locations.id, locations.name, locations.city, events.name
FROM locations 
JOIN events ON locations.id = events.id
WHERE locations.typ = '1'

events.id в операторе JOIN предполагает, что это имя столбца идентификатора в events Таблица.Я также сделал предположение, что эти два поля будут совпадать между двумя таблицами.Отрегулируйте соответственно, если ваш критерий соответствия отличается.

Оператор SELECT был изменен для извлечения столбцов из обеих таблиц.Добавьте те поля, которые соответствуют вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...