不按顺序搜索单词

时间:2011-08-17 12:22:51

标签: php mysql

所以我在我的应用程序上有一个搜索框来查询书籍的标题(以及其他内容),并且希望能够使用不按顺序的单词搜索标题:例如:即使能够获得记录也是如此Huckleberry Finn被搜查为Finn Huckleberry。我已经查看了全文搜索,但它变得太复杂了,因为我想在多个连接表中进行查询。作为一个复仇,如果我使用php来分解有空格的单词,将单词存储为数组,然后执行WHERE标题LIKE“%'。$ titlekeyword。'%”的循环,这太奇怪了。数组?

或者只是一团糟等待发生?我不想对我的申请做任何太奇怪的事情,因为有人会接管它

1 个答案:

答案 0 :(得分:0)

生成类似

的查询
 SELECT ... WHERE title like '%Finn%' AND title '%Huckleberry%' AND title '%next%'

implode(' AND ',array_map(function($x){
    return '`title` like "%'.$x.'%"';
},explode(' ',$str)));