Есть ли способ, которым я могу иметь одно поле ввода, называемое «местоположение», и позволить пользователю ввести почтовый индекс или название города, чтобы получить список предприятий? например. Bristol или BS6 6NX
Ниже приведена структура моей таблицы в настоящее время
Бизнес: (с данными примера)
id-1
имя-яблоки
местоположение-Bristol
почтовый индекс — bs5 6nx
Местоположение: (с данными примера)
id-1
имя-Bristol
почтовый индекс — bs5 6
Мой текущий запрос:
$query = "
SELECT b.id, b.name, b.category, b.thumb_picture, b.location
FROM business b
LEFT JOIN locations l ON b.location = l.name
WHERE l.name = ".$dbh->quote($userLocation)."
OR l.postcode LIKE ".$dbh->quote($userLocation."%")."
GROUP BY b.name
ORDER BY b.date DESC";
Который будет работать только с названиями городов в настоящее время.
Обновить:
Как определить адрес или почтовый индекс в переменной
Кажется, решение, определить, если поле является почтовый индекс или город перед рукой, а затем, возможно, есть 2 запроса в зависимости от результата? Один для поиска столбца почтового индекса и один для поиска города?
Одно решение, которое я нашел с немного больше копать ниже. Сначала я определяю, был ли введен почтовый индекс или город. Затем выполните соответствующий запрос.
Кто — нибудь видит в этом ошибку?