【发布时间】:2013-11-09 04:45:30
【问题描述】:
我在搜索查询时遇到问题。
我有两列名为 'artist' 和 'title'。但是对于自动完成功能,我需要一个 SQL 查询来在有人键入时在这些列中进行搜索。我知道有一个非常简单的解决方案,如下所示:
SELECT * FROM music WHERE artist LIKE '%".$term."%' OR title LIKE
'%".$term."%'
$term = 文本框值
但是这个查询有几个大问题。假设艺术家是'DJ Test',标题是'Amazing Test Song'。如果我输入 'DJ' 它工作正常。但是当我输入'DJ Amazing' 时。没有找到搜索结果。显然当然,但我不知道如何解决它。
但这不是唯一的问题。如果有人输入'DJ Test - Amazing Test Song',它必须忽略'-'。
所以我的问题是,当我可以输入“Amazing DJ Test”之类的内容并仍然返回我需要的内容时,我的搜索查询会是什么样子?
【问题讨论】:
-
您可以尝试
LIKE '$term%'或将%反转为LIKE '%$term'也可以查看this answer on SO
标签: php jquery mysql sql autocomplete