MySQL / PHP Autosuggest - PullRequest
       43

MySQL / PHP Autosuggest

2 голосов
/ 13 ноября 2011

В моей базе данных MySQL у меня есть список таких терминов (с заглавными буквами и в большинстве случаев множественным числом)

Hairdressers
Restaurants
Beauty Salons 
Furnitures For Restaurants

На моем веб-сайте есть панель поиска, где пользователь может искать это слово (мой веб-сайт является своего рода поиском POI). Панель поиска имеет функцию автоматического предложения, но у меня проблемы с запросом.

SELECT * FROM TABLE WHERE word = 'userword%'

Таким образом, если пользователь введет «Res», он вернет все слова, начинающиеся с «Res». Справедливо, это работает, но в моей БД у меня есть также слова с пробелом между ними (Furnitures For Restaurants), и я хотел бы, чтобы, если пользователь ввел «Res», mysql-запрос ТАКЖЕ возвращает Furnitures For Restaurants. Я попробовал это

SELECT * FROM TABLE WHERE word = '%userword%'

Да, отлично, это работает, но ... немного расслабиться ... он возвращает все и вся, поэтому, если пользователь введет "a", он вернет все слова, имеющие в нем ... И я не хочу этого

Так как же заставить запрос работать только по ПЕРВЫМ буквам каждого слова? Точно так же, как мой первый запрос, но принимая во внимание слова с пробелами?

1 Ответ

0 голосов
/ 13 ноября 2011

Просмотр mysql ПОЛНЫЙ текстовый поиск функция.Посмотрите на эту статью , которая очень детально объясняет полнотекстовый поиск mysql.

...