关于使用 PHP 和 MySQL 编写搜索功能的建议

发布于 2024-10-07 22:44:45 字数 292 浏览 1 评论 0原文

我正在开发一个 Web 应用程序,其中一部分包含允许用户在数据库中的 7 个表中搜索多个字段的功能。

用户可以搜索(例如)

名字 - 文本
姓氏 - 文本
高度 - 选择
最低年龄 - 选择
最高年龄 - 选择
最喜欢的颜色 - 选择
学院 - 选择

...以及更多

HTML 搜索表单将包含文本字段、许多选择下拉列表和一些复选框。

任何人都可以提供任何建议、最佳实践、设计模式或资源来帮助解决此类问题。

非常感谢。

I am developing a web application, part of which contains a the ability to allow a user to search over multiple fields across 7 tables in a database.

Users can search (for example)

First Name - text
Last Name - text
Height - select
Age Minumum- select
Age Maximum- select
Favourite Color - select
College - select

...and many many more

The HTML search form will contain text fields, many select dropdowns and some checkboxes.

Can anyone offer any advice, best practice, design patterns or resources to assist with this kind of problem.

Many thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

离鸿 2024-10-14 22:44:45

您需要在 sql 和通配符搜索字符中使用 LIKE 运算符。

SELECT
  * 
FROM
  users
WHERE
  first_name LIKE '%".$first_name."%' ||
  age > '".$age."'

You need to use the LIKE operator in sql and wildcard search characters.

SELECT
  * 
FROM
  users
WHERE
  first_name LIKE '%".$first_name."%' ||
  age > '".$age."'
忆梦 2024-10-14 22:44:45

我不会尝试在 SQL 中构建关键字搜索功能。您应该阅读 MySQL 的内置全文搜索功能。尝试通过基本 SQL 进行全面搜索将非常耗时且运行时缓慢。

全文搜索的基本思想是两个系统的结合。首先是索引器,它读取数据库中的关键字并创建它们的“索引”。其次,搜索器,它查看索引器创建的目录以创建搜索结果。

有第三方工具 - Lucene、Xapian、Sphinx - 封装了自己的索引器/搜索器。我使用 Xapian 取得了一些成功。

I wouldn't try to build a keyword search feature in SQL. You should read up on MySQL's built-in full-text search feature. Attempting a comprehensive search through basic SQL will be time consuming to develop and sluggish at runtime.

The basic idea of a full-text search is a combination of two systems. First, the Indexer, which reads your database for keywords and creates an "Index" of them. Second, the Searcher, which looks through the catalog created by the Indexer to create search results.

There are third party tools - Lucene, Xapian, Sphinx - which package their own Indexer/Searcher. I have used Xapian to some success.

笙痞 2024-10-14 22:44:45

HTML 搜索表单将包含文本字段、许多选择下拉列表和一些复选框。
任何人都可以提供任何建议、最佳实践、设计模式或资源来帮助解决此类问题。

我建议 Google 成为最佳搜索用户界面的典范。不要给我很多繁琐的字段,只需一个文本字段,这样我就可以输入“Shirley Jones UAF”

The HTML search form will contain text fields, many select dropdowns and some checkboxes.
Can anyone offer any advice, best practice, design patterns or resources to assist with this kind of problem.

I would suggest that Google exemplifies the best UI for search. Don't give me a lot of fiddly fields, just one text field so I can type "Shirley Jones UAF"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文