У меня есть форма с полями Имя, Email и города. Город - это поле автозаполнения, которое вызывает 3 отдельных таблицы (Города, Регионы, Страны).Получение массива с MySQL
То, что я хотел бы сделать это, чтобы они взрываются в массив, так что город, регион, и страна все определенные значения. Это мой запрос прямо сейчас для поля автозаполнения:
SELECT c.City, concat(r.Region, ', ', co.Country)
FROM Cities c, Regions r, Countries co
WHERE c.RegionID = r.RegionID and c.CountryID = co.CountryID and c.City like CONCAT(inCity, '%')
ORDER BY City;
Как вы можете видеть, введенное значение (Incity) только по сравнению с колонкой City в таблице городов.
Причина, по которой мне необходимо определить город, регион и страну, потому что мне нужно ввести их идентификаторы в другой таблице с именем События. Это мой запрос, чтобы вставить CityId в мои События стола:
INSERT INTO Events (Events.CityID)
VALUES ((SELECT CityID FROM Cities WHERE City = inCity LIMIT 1));
Это также не работает, потому что иногда есть несколько городов с таким же именем.
Я был в состоянии сделать это раньше с PHP, но в настоящее время я использую отчеты myDBR для этого, и я могу использовать только запросы.
Не можете просто удалить CONCAT? Например: SELECT c.City, r.Region, co.Country –
@JoelLewiw - Я мог бы, но у меня это было так, чтобы все они отображались как одна строка в форме автозаполнения. И даже если я удалю concat, я до сих пор не знаю, как назвать Region & Country в моем запросе INSERT. –