<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Отбор по нескольким переменным значениям.
24.12.2012 15:09:09 Отбор по нескольким переменным значениям. Сообщение #1
Arch

Arch

Новичок

Новичок

Дата регистрации:
24.12.2011 12:03:43

Сообщений: 11

Добрый день Михаил!

Снова возник вопрос такого свойства...
Есть таблица:
--------------------------------------------------------
|_Поле1_|_Поле2_|_Поле3_|_Поле4__|_Поле5_|
--------------------------------------------------------
| val_1_1 | val_1_2 | val_1_3 | val_1_4 | val_1_5 |
--------------------------------------------------------
| val_2_1 | val_3_2 | val_2_3 | val_2_4 | val_2_5 |
--------------------------------------------------------
| val_1_1 | val_3_2 | val_2_3 | val_3_4 | val_1_5 |
--------------------------------------------------------

Далее есть фильтр где пользователь может выбрать из выпадающего списка интересующие его параметры отбора по каждому из полей или оставить поле пустым.

Все это передается методом POST и записывается в переменные: val1, val2, val3, val4, val5

Требуется сделать к базе запрос такого типа:

SELECT * FROM table WHERE Поле1 = 'val1' AND Поле2 = 'val2' AND Поле3 = 'val3' AND Поле4 = 'val4' AND Поле5 = 'val5'

Все бы ничего, но любое из значение может стать пустым и тогда вышеприведенный запрос не выполняется...

Подскажите можно ли составить запрос с переменным количеством значений, т.е. если значения val1 и val2 пустые, то они бы не учитывались в результатах отбора.
Понимаю что можно проверить через php и написать разные запросы для каждого случая, но получается очень много вариантов...

Профиль Ответить
24.12.2012 17:36:39 Отбор по нескольким переменным значениям. Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Надо при формировании запроса проверять if ($val1 != "" $query .= "Поле1 = 'val1' AND "; И так для каждого значения, то есть пустые значения вообще в запросе оказываться не должны.
Профиль Ответить
24.12.2012 19:25:19 Отбор по нескольким переменным значениям. Сообщение #3
Arch

Arch

Новичок

Новичок

Дата регистрации:
24.12.2011 12:03:43

Сообщений: 11

Ага получилось! Спасибо!
Профиль Ответить