【发布时间】:2013-03-11 09:16:28
【问题描述】:
我一直在寻找在我的网络应用程序上实现即时文本搜索的不同方法;目前它使用带有通配符的非常基本的 SQL LIKE 查询。
我已经研究了许多实现搜索的方法,但从未见过有人建议执行以下操作:
当用户键入时,当查询达到 4 或 5 个字符时,执行数据库搜索。
向用户显示结果,当他们继续输入时,只需使用 Javascript 过滤结果,因此不需要更多的数据库调用。
这样每次搜索只会调用一次数据库,如果用户输入错误,他们可以退格,而 Javascript 会负责显示正确的结果。
这种方法有什么缺点吗?
【问题讨论】:
-
你可以使用jquery自动完成!
-
对于许多您可能想要这样做的系统,4~5 个字符仍然会导致大量可能的行。但是在某些系统上它可能很有用。就个人而言,我在输入每个字符时进行了搜索,但在搜索之前使用了一个计时器,因此 AJAX 调用仅在用户停止输入时才会发生(半秒就足够了)。
标签: php javascript mysql ajax