Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск в БД по нескольким полям
Форумы портала PHP.SU » » Работа с СУБД » Поиск в БД по нескольким полям

Страниц (1): [1]
 

1. gegmaster - 20 Августа, 2011 - 16:29:11 - перейти к сообщению
Подскажите пожалуйста как сделать поиск по нескольким полям. Имеется одна таблица (см. приложение) в шапке таблицы есть поля для ввода критериев, необходимо вывести данные согласно введенных критериев. Причем не обязательно заполнение всех полей.
В запросе OR - не подходит, а AND - подходит, но тогда нужно заполнить все поля...
2. ams - 20 Августа, 2011 - 17:40:17 - перейти к сообщению
Вот по примеру сделай:
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "";
  3.  
  4. if (empty($sql))
  5. {
  6.         if (!empty($a['vp']))
  7.                 $sql .= "nom_vp='".$a['vp']."'";
  8. }
  9. else
  10. {
  11.         if (!empty($a['vp']))
  12.                 $sql .= "nom_vp='".$a['vp']."'";
  13. }
  14.  
  15. if (empty($sql))
  16. {
  17.         if (!empty($a['property']))
  18.                 $sql .= "property like '%".$a['property']."%'";
  19. }
  20. else
  21. {
  22.         if (!empty($a['property']))
  23.                 $sql .= " and property like '%".$a['property']."%'";
  24. }
  25.  

И в конце, после каждой проверки поля - делай запрос,
$query = "SELECT * FROM `...` WHERE " . $sql;

 

Powered by ExBB FM 1.0 RC1