|
|
|
| Поиск работает в том случае, если найдено только одно значение, если больше одного , то данное условие не выполняется:
if (mysql_num_rows($result) > 0)
{
...
}
else
{
echo "<p>Error</p>";
exit ();
}
SQL запрос поиска:
$result = mysql_query("SELECT * FROM table WHERE MATCH(description) AGAINST('$search')",$db); | |
|
|
|
|
|
|
|
для: designshadow
(14.04.2009 в 03:22)
| | Неужели пишет <p>Error</p> ? | |
|
|
|
|
|
|
|
для: Trianon
(14.04.2009 в 09:49)
| | Да. Сейчас переделал на вот это: Информация по данному запросу не найдена.
else
{
echo "<p>Информация по данному запросу не найдена.</p>";
//exit ();
}
P.S. поиск работает в том случае, если поисковое значение встретилось только один раз, иначе - Информация по данному запросу не найдена. | |
|
|
|
|
|
|
|
для: designshadow
(14.04.2009 в 15:54)
| | значение должно встретиться менее чем в половине всех записей.
Иначе фильтр адекватности полнотестового поиска такой результат отсечет. | |
|
|
|
|
|
|
|
для: Trianon
(14.04.2009 в 15:57)
| | Ooooo,сработало!
А как можно реализовать ,если значение встречается более чем в половине? | |
|
|
|
|
|
|
|
для: designshadow
(14.04.2009 в 16:07)
| | Можно попробовать выполнить поиск в логическом режиме (IN BOOLEAN MODE) ( а не в натуральном) .
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html | |
|
|
|
|
|
|
|
для: Trianon
(14.04.2009 в 16:13)
| | прописал так AGAINST('$search' IN BOOLEAN MODE) всё заработало! Спасибо друг! :-) | |
|
|
|
|
|
|
|
для: Trianon
(14.04.2009 в 09:49)
| | А как реализовать, например я ввожу в поиск слово test, а в базе есть похожее слово tests, т.е. как сделать чтобы вывело tests при запросе test? | |
|
|
|
|
|
|
|
для: designshadow
(14.04.2009 в 22:57)
| | Может быть Вам не нужен полнотекстовый поиск? | |
|
|
|
|
|
|
|
для: Trianon
(14.04.2009 в 22:58)
| | У меня ищет скажем по описанию товара, а какая есть альтернатива? | |
|
|
|