Поиск по сайту

$lider

Бывает
Поиск по сайту

Хоче зделать поиск по БД.
Из формы получаю массив ключевых слов:
PHP:
Array ( [0] => world [1] => is [2] => die )
Вот надо убрать елементы, которые содержат менее 3 символов.
И еще ограничить массив тремя элементами
 

Linker

Guest
В цикле перебора массива:

if (strlen($array[$i]) < 3)
{ unset($array[$i]); }
 

$lider

Бывает
Автор оригинала: Linker
В цикле перебора массива:

if (strlen($array[$i]) < 3)
{ unset($array[$i]); }
Так с этим получилось (с латинскими буквами)
А теперь по поиску :
наверное лучше через REGEXP?
А как все кейворды проганять через выборку?
 

$lider

Бывает
Может так
SELECT * FROM `table` WHERE (concat(field,field1,field2) LIKE '%$array[0]%' AND concat(....) LIKE '%$array[0]%' AND ....????
 

Georgy

Guest
зачем конкат

PHP:
$string = 'мама мыла раму';
$words = explode( ' ', $string );
$sql = '
   SELECT
     *
    FROM
     `table`
    WHERE';
$sql .= '`field` LIKE "' . join( '" OR LIKE "', $words ) . '"';
';
ну и подстановки...

* на % меняешь и т.д.
 
Сверху