MySQL/PHP 自动建议

发布于 2024-12-15 08:44:35 字数 627 浏览 4 评论 0原文

在我的 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 的单词......并且我不想要这个。

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

In my MySQL DB I have a list of terms like this (With First letters Capital and most of the time plurals)

Hairdressers
Restaurants
Beauty Salons 
Furnitures For Restaurants

On my website I have a search bar where the user can search for those word (my website is a kind of POI finder). The search bar has a auto-suggest function, but I'm having problems with my query.

SELECT * FROM TABLE WHERE word = 'userword%'

So if the user enter "Res" it will return all the word starting the "Res". Fair enough, that works, But in my DB i have also words with space between them (Furnitures For Restaurants) and I would like that if the user enter "Res" the mysql query ALSO return Furnitures For Restaurants. I have tried this

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

Yes great this works, but... it is a bit to much relax.. it return all and everything, so if the user enters "a" it will return all the word having a in it... And I don't want this.

So how can make the query works only on the FIRST letters of each word ? Exactly like my first query but taking in consideration words with spaces?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把梦留给海 2024-12-22 08:44:35

查看 mysql 全文搜索 功能。也看看这篇文章,非常详细地解释了mysql全文搜索。

Look into mysql FULL Text Search feature. Look at this article too, explains mysql full text searching in a very detailed way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文