Такая ситуация:
в таблице 10 полей (допустим поле1, поле2 и т.д.). Нужно реализовать поиск по нескольким полям (допустим поле3, поле4, поле5 и поле6). Пользователь может искать по нескольким или по одному полю.
Запросы типа:
1) SELECT * FROM таблица WHERE поле3 = $поле3 OR поле4=$поле4 OR поле5=$поле5 OR поле6=$поле6
2) SELECT * FROM таблица WHERE поле3 = $поле3 AND поле4=$поле4 AND поле5=$поле5 AND поле6=$поле6
не подходят так как в первом случае выводятся все строки в которых встречается ЛЮБОЕ из условий запроса, а во втором случае необходимо заполнение всех полей.
На сколько я понял необходимо сначала узнать какие из полей для поиска заполнил пользователь и уже затем с помощью оператора AND составлять запрос. Вот только как определить какие из полей заполнил пользователь а какие нет я так и не могу.
Может есть еще какие то алгаритмы решения данной задачи.
Подскажите пожалуйста.