Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Динамический запрос к базе данных
 
 автор: neadekvat   (12.05.2009 в 18:06)   письмо автору
 
 

Добрый вечер
Подскажите, пожалуйста, как можно сделать динамический запрос в бд, если от пользователя, помимо некой информации, придет (или не придет) информация в checkbox`ах
Пример:
искать тексты
*чекбокс* с одним абзацем
*чекбокс* с двумя абзацами
*чекбокс* с тремя абзацами

Я не знаю, как учесть все возможные варианты, да еще чтобы запрос в бд был корректным
(мне нужно сделать расширенный поиск. Или, может, у кого-то есть ссылки на информативные статьи по создания расширенного поиска?)

  Ответить  
 
 автор: Keyses   (12.05.2009 в 22:02)   письмо автору
 
   для: neadekvat   (12.05.2009 в 18:06)
 

можешь получать через get параметр чекбокса и включать его(или нет) в запрос к бд

  Ответить  
 
 автор: neadekvat   (12.05.2009 в 22:49)   письмо автору
 
   для: Keyses   (12.05.2009 в 22:02)
 

Это как? оО
У меня идет поисковой запрос методом post, одним из, скажем так, разделов этого расширенного поиска являются чекбоксы
Методом гет я их никак не отправлю
И как составить запрос так, чтобы не было конфликта (если делать с WHERE, чтобы в нужном месте AND вставлялось и тп)

да, кстати, как по вашему, лучше такие запросы делать - сразу большой запрос составлять или вытащить инфу из бд и ее потихоньку отсеивать уже с помощью скриптов?

  Ответить  
 
 автор: Keyses   (12.05.2009 в 23:06)   письмо автору
 
   для: neadekvat   (12.05.2009 в 22:49)
 

Конечно же post, это я отвлёкся ))
А для корректной вставки данных в SQL-запрос я бы использовал оператор if (true)?(then):(else)

  Ответить  
 
 автор: а-я   (13.05.2009 в 12:35)   письмо автору
 
   для: neadekvat   (12.05.2009 в 18:06)
 

обычно используют:



expr IN (value,...) 

Возвращает 1, если выражение expr равно любой величине из списка IN, иначе - 0. 
Если все величины - константы, то они оцениваются в соответствии с типом выражения expr и сортируются. 
Поиск элемента в этом случае производится методом логического поиска. 
Это означает, что функция IN является очень быстрой, если список значений IN состоит полностью из констант. 
Если expr является зависимым от регистра строковым выражением, то сравнение строк производится с учетом регистра: 


mysql> SELECT 2 IN (0,3,5,'wefwf');
        -> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
        -> 1


Начиная с 4.1 (в соответствии со стандартом SQL-99), 
IN возвращает NULL не только если выражение в левой части является NULL, 
но также если не найдено соответствия в списке и одно из выражений в списке является величиной NULL. 



если я Вас правильно понял

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования