使用数据库中的数据进行 Ajax 实时搜索

Posted

技术标签:

【中文标题】使用数据库中的数据进行 Ajax 实时搜索【英文标题】:Ajax live search with data from a database 【发布时间】:2012-11-30 11:42:14 【问题描述】:

我见过一些(解释清楚的)示例,其中在 xml 文件中可以找到实时搜索的可用结果。但只有少数(解释得很糟糕)的结果来自数据库。我对第二种情况感兴趣。

一种解决方案可能是预取数据库数据并将它们放在一个 xml 对象中,其余的可以以相同的方式工作。这是我可以轻松实现的。

我正在寻找另一种方式,用户输入一个字母(例如“c”)并当场生成建议(例如“胡萝卜”、“卷心菜”、“芹菜”、“柑橘” ')。这是否可以通过调用数据库来实现,例如

"SELECT name FROM vegetables WHERE name LIKE c%"?

如果用户按下另一个字母会怎样? (例如'ca',所以推荐的结果应该是'carrot', 'cabbage')。按下的每个键都应该启动一个新的SELECT?出于某种原因,这听起来不是一个好的解决方案。

有没有办法实现第二种方法?

【问题讨论】:

这是通常的过程。确保使用准备好的语句并对输入进行消毒。 哦,你是说连续的 SELECT 吗?谢谢,我试试看。 :) 我早先发布了这个确切的例子 [这里][1] [1]:***.com/a/13830962/1880925 谢谢罗伊。你的答案恰到好处! 【参考方案1】:

您可以通过在 jquery 中的每个按键功能上发送 ajax 请求来实现此目的。作为响应,以 json 格式发回结果,以便在文本字段下方的无序列表中显示它们。单击此的 li 时,用文本字段中的值填充文本框。

【讨论】:

以上是关于使用数据库中的数据进行 Ajax 实时搜索的主要内容,如果未能解决你的问题,请参考以下文章

PHP 实例 - AJAX 实时搜索

PHP 实例 - AJAX 实时搜索

使用 XML 进行实时搜索。错还是对?

如何使用 jQuery ajax 实时搜索 Django 中的模型?

实时数据搜索问题,如何通知用户在搜索中更具体

如何使用 Solr 进行实时搜索