MySQL/PHP 自动提示

标签 mysql character word code-first autosuggest

在我的 MySQL 数据库中,我有一个这样的术语列表(首字母大写,大多数时候是复数)

Hairdressers
Restaurants
Beauty Salons 
Furnitures For Restaurants

在我的网站上,我有一个搜索栏,用户可以在其中搜索这些词(我的网站是一种 POI 查找器)。搜索栏具有自动建议功能,但我的查询有问题。

SELECT * FROM TABLE WHERE word = 'userword%'

因此,如果用户输入“Res”,它将返回所有以“Res”开头的单词。很公平,这很有效,但在我的数据库中,我也有它们之间有空格的词(餐厅家具),我希望如果用户输入“Res”,mysql 查询也返回餐厅家具。这个我试过了

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

是的,这很好用,但是......它有点太放松了......它会返回所有内容,所以如果用户输入“a”,它会返回所有包含 a 的词......我不想要这个。

那么如何才能使查询只对每个单词的第一个字母起作用呢?与我的第一个查询完全一样,但考虑了带空格的单词?

最佳答案

查看 mysql FULL Text Search特征。看这个article同样,以非常详细的方式解释了 mysql 全文搜索。

关于MySQL/PHP 自动提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111024/

相关文章:

php - 插入 MySQL DB 时出现字符问题

python - 计算文本文件中每个汉字的出现次数

r - 如何防止 'read.table' 将下划线和连字符更改为点?

swift - Swift 中判断字符串中的字符是否为单词字符的最简单方法是什么?

mysql - sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE ` suck_t`/!d;q' bak.sql;这个命令是如何工作的?

PHP:在空格后点赞?

css - 如何在每种情况下仅使用 CSS 将首字母大写

由周期表元素构成的最大词的算法

mysql - 如何在 MySQL 中使用 max 和 having

string - SAS 无法识别日期格式