Запрос к MySQL
select * from table where field like %what% or field like %what%
Что делаю:
Код:
# Искомая фраза
$what='some words'
# Разбиваю искомую фразу на части
$what_array=explode(' ', $what);
$what_count=count($what_array);
$uslovie='select * from table where field';
for($i=0; $i<$what_count; $i++)
{
$uslovie.="LIKE '%".$what_array[$i]."%' ";
}
$what='some words'
# Разбиваю искомую фразу на части
$what_array=explode(' ', $what);
$what_count=count($what_array);
$uslovie='select * from table where field';
for($i=0; $i<$what_count; $i++)
{
$uslovie.="LIKE '%".$what_array[$i]."%' ";
}
В результате получаю 'select * from table where field like %some% like %words%
Вопрос: Как мне засунуть между очередными LIKE`ами слово OR? Пытался сделать так:
Код:
if($i>0 and $i<$what_count)
{
$uslovie.=" or field "
}
{
$uslovie.=" or field "
}
но не получается...
Код:
if($i<$what_count-1)
{
$uslovie.=" or field "
}
{
$uslovie.=" or field "
}
Во, блин, затупил-то :D
Код:
$arr = explode(" ", $what);
$str = implode(" AND ", $arr);
$str = implode(" AND ", $arr);
Должно быть так. Синтаксис не проверял. пишу от столба.