php - 数据库搜索 - 单个 AJAX 查询 + Javascript 过滤器

标签 php javascript mysql ajax

我一直在寻找在我的 Web 应用程序上实现即时文本搜索的不同方法;目前,它使用非常基本的带通配符的 SQL LIKE 查询。

我看过很多实现搜索的方法,但从未见过有人建议执行以下操作:

  1. 随着用户键入,当查询达到 4 或 5 个字符时,执行数据库搜索。

  2. 向用户显示结果,当他们继续输入时,只需使用 Javascript 来过滤结果,因此不需要更多的数据库调用。

这样一来,每次搜索只会调用一次数据库,如果用户输入错误,他们可以退格,Javascript 会负责显示正确的结果。

这种方法有什么缺点吗?

最佳答案

这在理论上似乎可行,但我个人更喜欢按 enter 键或等待 500 毫秒不活动后再进行搜索。

可能导致额外数据库查询的一件事是,如果用户在您给定的时间间隔内退格(在您的情况下为 4 个字符)。

但我认为真正的缺点是额外的 JS 编码 + 仍然需要 PHP 编码。

关于php - 数据库搜索 - 单个 AJAX 查询 + Javascript 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334813/

相关文章:

php - 在 Symfony2 中运行 cron 作业 - 尝试调用 Controller 中的方法

PHP strpos() 返回奇怪的结果

javascript - AJAX 将数据发送到 PHP 文件,但 PHP 无法从 $_POST 获取数据

javascript - 将语言环境编号转换为数字

javascript - 如何在右键单击拖动时禁用上下文菜单?

php - mysql_query 内部 for 循环语法错误

php - 不能通过调用返回函数在 php 中返回 2 个变量?

javascript - 如何在 AngularJs 中使用相互依赖的并行和顺序函数调用?

php - 文本未提交至数据库

php - codeigniter - 我的 htaccess 有什么问题吗?