【发布时间】:2010-09-29 05:26:42
【问题描述】:
我正在网站上的“高级搜索”页面上工作,您可以在其中输入关键字,例如“我喜欢苹果”,它可以使用以下选项搜索数据库:
查找:用所有的词,用 确切的短语,至少有一个 话,没有话
我可以通过以下方式处理“精确短语”:
SELECT * FROM myTable WHERE field='$keyword';
'至少一个单词' by:
SELECT * FROM myTable WHERE field LIKE '%$keyword%';//Let me know if this is the wrong approach
但我坚持的是“至少有一个词”和“没有这些词”。
对如何实现这两个有什么建议吗?
编辑:关于“至少一个单词”,使用explode() 将关键字分解为单词并运行循环添加
并不是一个好方法(field='$keywords') OR ($field='$keywords) (OR)....
因为查询中还有一些其他的 AND/OR 子句,我不知道可以有的最大子句数。
【问题讨论】: