Запрос к базе данных при со сложным условием!

OlegS

Guest
Запрос к базе данных при со сложным условием!

Денб добрый!
Для начала - спасибо огромное за предыдущую помощь в настройке структуры базы данных (все рекомендации учтены)

Новый вопрос! Имеется веб-форма с тремя полями-переменными A, B и С. Как наиболее оптимально и корректно организовать запрос к базе данных так, чтобы mysql отрабатывал запрос и тогда, когда указано хотя бы одно условие (логика OR), И ТОГДА, когда указано 2 или все три значения (при этом поиск должен быть уже точным, т.е. с логикой AND)?????

Всем заранее спасибо!
 

Фанат

oncle terrible
Команда форума
оптимально и корректно формировать запрос в пхп на основании данных формы.
с помощью оператора IF
 

OlegS

Guest
Автор оригинала: Фанат
оптимально и корректно формировать запрос в пхп на основании данных формы.
с помощью оператора IF
Спасибо за скорый ответ! А можно получить пример (разумеется, краткий) такого запроса?
 

Фанат

oncle terrible
Команда форума
Спасибо за скорый ответ! А можно попросить ВНИМАТЕЛЬНО прочесть то, что я написал?
 

tolik777

Новичок
А как сделать такое условие:
((A or B) and C)?
Что-то никак не допру.
 

antson

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

// часть запроса до модифицируемой части
$query = 'select * from table where ';

$wherePart=array();
// переменные A-C должны быть проконтролированы раньше

if(!Empty($A)) $wherePart[]=" pole1 = '$A'";
if(!Empty($B)) $wherePart[]=" pole2 = '$B'";
if(!Empty($C)) $wherePart[]=" pole3 = '$C'";

$query.=implode(' and ',$wherePart);

// часть запроса после модифицируемой части
$query.=' order by pole1 limit 0,10';
 
Сверху