Справка по поисковой системе PHP - PullRequest
0 голосов
/ 06 марта 2011

Я делаю поисковую систему, которая создает запрос в зависимости от того, что выбрано на странице поиска. Поскольку запрос ограничен, я не могу просто включить в него что-либо, и здесь я должен сделать все остальное с помощью предложений 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, но я не уверен, как правильно их настроить.

Помощь очень ценится, большое спасибо.

1 Ответ

0 голосов
/ 06 марта 2011

Мое переизобретение колеса?Если вы не создаете поисковую систему для образовательных целей, используйте то, что уже было протестировано и оптимизировано.См. этот связанный вопрос.

You are doing it wrong.

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