Junkers
Новичок
Генерация запроса к MySQL
Мне нужно создать запрос к БД, исходя из количества слов, переданных скрипту.
Вот как делаю:
Хочу получить вот что:
SELECT * FROM table WHERE field LIKE '%some%' OR field LIKE '%words%'
но "на хвосте" после LIKE '%words%' висит еще один OR field , т.е. вложенный цикл проходит еще раз. Ну не додуматься мне - как убрать этот лишний проход...
Мне нужно создать запрос к БД, исходя из количества слов, переданных скрипту.
Вот как делаю:
PHP:
$what='some words';
$logic='OR';
$what_array=explode(' ', $what);
$what_count=count($what_array);
$query='select * from table where field ';
for($i=0; $i<$what_count; $i++)
{
$query.="LIKE '%".$what_array[$i]."%' ";
if($i>0 || $i<$what_count)
{
$query.=$logic." field ";
}
}
SELECT * FROM table WHERE field LIKE '%some%' OR field LIKE '%words%'
но "на хвосте" после LIKE '%words%' висит еще один OR field , т.е. вложенный цикл проходит еще раз. Ну не додуматься мне - как убрать этот лишний проход...