所以我正在做一个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是'游戏'的一部分,或者是'我喜欢游戏'的一部分。我有什么想法可以做到这一点?
答案 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()";