我正在开发一个Web应用程序,其中一部分包含允许用户在数据库中的7个表中搜索多个字段的功能。
用户可以搜索(例如)
名字 - 文字
姓氏 - 文字
高度 - 选择
年龄最小 - 选择
年龄最大值 - 选择
喜欢的颜色 - 选择
学院 - 选择
......还有更多
HTML搜索表单将包含文本字段,许多选择下拉列表和一些复选框。
任何人都可以提供任何建议,最佳实践,设计模式或资源来协助解决此类问题。
非常感谢提前。
答案 0 :(得分:1)
您需要在sql和通配符搜索字符中使用LIKE
运算符。
SELECT
*
FROM
users
WHERE
first_name LIKE '%".$first_name."%' ||
age > '".$age."'
答案 1 :(得分:0)
我不会尝试在SQL中构建关键字搜索功能。您应该阅读MySQL的内置全文搜索功能。尝试通过基本SQL进行全面搜索在运行时开发和缓慢是非常耗时的。
全文搜索的基本思想是两个系统的组合。首先,Indexer,它为您的数据库读取关键字并创建它们的“索引”。其次,搜索者查看索引器创建的目录以创建搜索结果。
有第三方工具 - Lucene,Xapian,Sphinx--它们自己的Indexer / Searcher打包。我使用Xapian取得了一些成功。
答案 2 :(得分:0)
HTML搜索表单将包含文本字段,许多选择下拉列表和一些复选框。 任何人都可以提供任何建议,最佳实践,设计模式或资源来帮助解决这类问题。
我建议Google举例说明搜索的最佳用户界面。不要给我很多繁琐的字段,只有一个文本字段,所以我可以输入“Shirley Jones UAF”