Здравствуйте, подскажите пожалуйста, как сделать расширенный поиск, т.е учитывать несколько полей при поиске, а не одно, как реализовано у меня сейчас
if($vvAuthor!=''){
$condition_of_Query .= "Author LIKE '%$vvAuthor%'";
} else
if($vvTitle!=''){
$condition_of_Query .= "Title LIKE '%$vvTitle%'";
}else
if($vvFac!=''){
$condition_of_Query .= "Fac LIKE '%$vvFac%'";
}else
if($vvKaf!=''){
$condition_of_Query .= "Kaf LIKE '%$vvKaf%'";
}else
if($vvUGSN!=''){
$condition_of_Query .= "UGSN LIKE '%$vvUGSN%'";
}
else
if($vvYear!=''){
$condition_of_Query .= "Year LIKE '%$vvYear%'";
}
В данном примере, у меня идет поиск по полю в отдельности, как объединить в общий запрос. Поля равнозначны, и поиск можно вести по любому полю
Спасибо
1. ЛеваХФактор - 31 Марта, 2018 - 11:17:16 - перейти к сообщению
2. Vladimir Kheifets - 31 Марта, 2018 - 12:43:35 - перейти к сообщению
ЛеваХФактор пишет:
Здравствуйте, подскажите пожалуйста, как сделать расширенный поиск, т.е учитывать несколько полей при поиске, а не одно, как реализовано у меня сейчас
if($vvAuthor!=''){
$condition_of_Query .= "Author LIKE '%$vvAuthor%'";
} else
if($vvTitle!=''){
$condition_of_Query .= "Title LIKE '%$vvTitle%'";
}else
if($vvFac!=''){
$condition_of_Query .= "Fac LIKE '%$vvFac%'";
}else
if($vvKaf!=''){
$condition_of_Query .= "Kaf LIKE '%$vvKaf%'";
}else
if($vvUGSN!=''){
$condition_of_Query .= "UGSN LIKE '%$vvUGSN%'";
}
else
if($vvYear!=''){
$condition_of_Query .= "Year LIKE '%$vvYear%'";
}
В данном примере, у меня идет поиск по полю в отдельности, как объединить в общий запрос. Поля равнозначны, и поиск можно вести по любому полю
Спасибо
if($vvAuthor!=''){
$condition_of_Query .= "Author LIKE '%$vvAuthor%'";
} else
if($vvTitle!=''){
$condition_of_Query .= "Title LIKE '%$vvTitle%'";
}else
if($vvFac!=''){
$condition_of_Query .= "Fac LIKE '%$vvFac%'";
}else
if($vvKaf!=''){
$condition_of_Query .= "Kaf LIKE '%$vvKaf%'";
}else
if($vvUGSN!=''){
$condition_of_Query .= "UGSN LIKE '%$vvUGSN%'";
}
else
if($vvYear!=''){
$condition_of_Query .= "Year LIKE '%$vvYear%'";
}
В данном примере, у меня идет поиск по полю в отдельности, как объединить в общий запрос. Поля равнозначны, и поиск можно вести по любому полю
Спасибо
Добрый день!
Если нужно проверять, что один из заданных фильтров совпадает, то можно сделать так:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- if($vvAuthor!='')
- {
- $condition_of_Query .= "Author LIKE '%$vvAuthor%'";
- }
- if($vvTitle!='')
- {
- $condition_of_Query .= " OR Title LIKE '%$vvTitle%'";
- }
- if($vvFac!='')
- {
- $condition_of_Query .= " OR Fac LIKE '%$vvFac%'";
- }
- if($vvKaf!='')
- {
- $condition_of_Query .= " OR Kaf LIKE '%$vvKaf%'";
- }
- if($vvUGSN!='')
- {
- $condition_of_Query .= " OR UGSN LIKE '%$vvUGSN%'";
- }
- if($vvYear!='')
- {
- $condition_of_Query .= " OR Year LIKE '%$vvYear%'";
- }
Если требуется проверять совпадение всех фильтров, то вместо OR нужно поставить AND
Удачи!