$lider Бывает 23 Май 2003 #1 Поиск по сайту Хоче зделать поиск по БД. Из формы получаю массив ключевых слов: PHP: Array ( [0] => world [1] => is [2] => die ) Вот надо убрать елементы, которые содержат менее 3 символов. И еще ограничить массив тремя элементами
Поиск по сайту Хоче зделать поиск по БД. Из формы получаю массив ключевых слов: PHP: Array ( [0] => world [1] => is [2] => die ) Вот надо убрать елементы, которые содержат менее 3 символов. И еще ограничить массив тремя элементами
Linker Guest 23 Май 2003 #2 В цикле перебора массива: if (strlen($array[$i]) < 3) { unset($array[$i]); }
$lider Бывает 23 Май 2003 #4 Автор оригинала: Linker В цикле перебора массива: if (strlen($array[$i]) < 3) { unset($array[$i]); } Нажмите для раскрытия... Так с этим получилось (с латинскими буквами) А теперь по поиску : наверное лучше через REGEXP? А как все кейворды проганять через выборку?
Автор оригинала: Linker В цикле перебора массива: if (strlen($array[$i]) < 3) { unset($array[$i]); } Нажмите для раскрытия... Так с этим получилось (с латинскими буквами) А теперь по поиску : наверное лучше через REGEXP? А как все кейворды проганять через выборку?
$lider Бывает 23 Май 2003 #5 Может так SELECT * FROM `table` WHERE (concat(field,field1,field2) LIKE '%$array[0]%' AND concat(....) LIKE '%$array[0]%' AND ....????
Может так SELECT * FROM `table` WHERE (concat(field,field1,field2) LIKE '%$array[0]%' AND concat(....) LIKE '%$array[0]%' AND ....????
Georgy Guest 23 Май 2003 #6 зачем конкат PHP: $string = 'мама мыла раму'; $words = explode( ' ', $string ); $sql = ' SELECT * FROM `table` WHERE'; $sql .= '`field` LIKE "' . join( '" OR LIKE "', $words ) . '"'; '; ну и подстановки... * на % меняешь и т.д.
зачем конкат PHP: $string = 'мама мыла раму'; $words = explode( ' ', $string ); $sql = ' SELECT * FROM `table` WHERE'; $sql .= '`field` LIKE "' . join( '" OR LIKE "', $words ) . '"'; '; ну и подстановки... * на % меняешь и т.д.