当前位置:  开发笔记 > 编程语言 > 正文

Php/MySql'高级搜索'页面

如何解决《Php/MySql'高级搜索'页面》经验,为你挑选了1个好方法。

我正在网站上的"高级搜索"页面上输入关键字,例如"我喜欢苹果",它可以使用以下选项搜索数据库:

查找:使用所有单词,使用确切的短语,至少有一个单词,没有单词

我可以通过以下方式处理'确切短语':

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子句,我不知道可以有的最大子句数.



1> Mark Davidso..:

我建议使用MySQL FullText Search和布尔全文搜索功能,你应该能够得到你想要的结果.

编辑:

请求的示例基于您请求的条件("它只是一个字段,他们可以选择4个选项中的任何一个(即1个单词,确切的单词,至少1个单词,没有该术语).")

我假设您正在使用基于您的初始帖子的PHP


希望这有助于在布尔匹配中充分使用运算符,请参阅布尔全文搜索

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有