ajax搜索如何检查某个短语是否包含搜索到的单词

时间:2015-02-16 11:06:00

标签: php mysql ajax search

所以我正在做一个AJAX搜索栏。现在我只知道如何搜索确切的单词。我桌子的例子

ID|Skillset|Description|
1|game|i love game
2|photography|i love to take photo
3|game|game is my forte

现在我有这个查询来搜索数据库中的确切单词

PHP

$sql = "SELECT userdatafiles.UserID,Name,Link,Title FROM userdatafiles JOIN users ON userdatafiles.UserID = users.UserID WHERE Skillsets = '$searchBar' GROUP BY UserID ORDER BY RAND()";

因此,如果用户输入游戏,它将显示与游戏匹配的所有技能组。

我想改进的是,我不想只搜索技能集列,而是想搜索技巧集和描述列。我没有搜索精确匹配的单词,而是让用户能够键入类似'gam'的内容,它将在Skillset&描述只要有包含'gam'的单词就会显示出来,例如gam是'游戏'的一部分,或者是'我喜欢游戏'的一部分。我有什么想法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您应该使用LIKE进行比较,并使用CONCAT来选择字段搜索:

$sql = "SELECT userdatafiles.UserID, Name, Link, Title 
FROM userdatafiles ud JOIN users u ON userdatafiles.UserID = users.UserID 
WHERE concat(ud.Skillsets, ud.description) LIKE '%$searchBar%' 
GROUP BY UserID ORDER BY RAND()";