Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не совсем корректная работа поиска
 
 автор: Dizels   (02.09.2010 в 11:29)   письмо автору
 
 

$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)
 

с таким формированием строки пользователи сами введут
"+ручка* +белая*"
"+ручка+бело*"
и все остальные возможные варианты, тока * везде будет

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования