|
|
|
|
$name = $_GET['name'];
$name = trim($name);
// Разбиваем поисковую фразу на отдельные слова
$words = preg_split("|[\s]+|", $name);
// Добавляем каждому слову в массиве $words спец.символ *
for($i = 0; $i < count($words); $i++) $words[$i] = $words[$i]."*";
// Объединяем отдельные слова в единую фразу $temp
$temp = implode(" ", $words);
// Формируем WHERE-конструкцию
$tmp2 = "MATCH (name) AGAINST ('$temp' IN BOOLEAN MODE)";
|
Сейчас поиск не совсем корректно работает, а именно:
если ввести "ручка белая" - то выводит все записи где есть хотя бы одно из искомых слов. А мне необходимо, чтобы выводились только те записи, в которых присутствуют оба слова. Помогите, пожалуйста решить эту проблему. | |
|
|
|
|
автор: * (02.09.2010 в 11:50) |
|
|
для: Dizels
(02.09.2010 в 11:29)
| | с таким формированием строки пользователи сами введут
"+ручка* +белая*"
"+ручка+бело*"
и все остальные возможные варианты, тока * везде будет | |
|
|
|