Я делаю поисковую систему, которая создает запрос в зависимости от того, что выбрано на странице поиска. Поскольку запрос ограничен, я не могу просто включить в него что-либо, и здесь я должен сделать все остальное с помощью предложений IF и запроса while-циклов. Таким образом, в таблице нет поля возраста, но есть поле даты рождения, поэтому я использую функцию IF, чтобы проверить, правильно ли указан возраст, а затем выводит имена пользователей в цикле while.
Это работает нормально, но мне также нужно добавить в поиск еще два поля: Округ и Город, которые сейчас работают над выбором округа на странице. Что я не могу понять самостоятельно, так это логику того, как я должен распечатывать пользователей, которые соответствуют всем необходимым полям, не имея 1000 IF ELSE.
Я думал о ВЫБОРЕ и отфильтровывании всех правильных почтовых индексов в выбранный округ / регион, затем поместил его в массив, а затем проверил цикл запроса выходного запроса по нему, но это тоже не сработало .
В моей базе данных есть 3 таблицы, которые выглядят так:
county_table
id, name_of_county
municipial_table
id, county_id, municipial_name
zip_code_table
zip, zip_place_name, municipial_id
Они сделаны для моей страны. Итак, учитывая почтовый индекс пользователя, мне нужно будет выполнить два разных запроса SELECT, чтобы подключить его к county_table (zip-> municipial-> county).
Так что в основном то, что я пытаюсь сказать; Я хочу, чтобы поисковая система выводила пользователей с правильными данными, в зависимости от того, были ли выбраны поля возраста, региона и города. Они должны быть независимыми, а не такими:
if($age>X){
if($county==Y){
if($city==Z){
-OUTPUT RESULTS HERE-
} } }
Теперь проблема в следующем: что если одно из полей не будет запрошено при поиске? Скажите, возраст? Номер округа? Город? Я думаю, что мне нужны не вложенные и независимые блоки IF, но я не уверен, как правильно их настроить.
Помощь очень ценится, большое спасибо.