我在写作时如何从数据库中获取结果?

时间:2017-04-11 06:01:37

标签: php autocomplete fetch

我们如何在写作的同时从数据库中获取结果?

假设我输入了一个名称字段Ja,然后一个选择框下拉,获取数据库中以其开头的所有名称。

像:

James
Jay
Jared

然后我再输入一个字母Jam,然后所有名称都消失,只留下James

这个过程的名称是什么?我们该怎么做? 我只使用PHP(PDO),我是否也必须使用Java / jQuery?

1 个答案:

答案 0 :(得分:0)

您尝试构建的功能称为自动完成功能。

您需要编写一个PHP脚本(假设您正在编写一个基于PHP的纯Web应用程序),该脚本在输入框中输入输入的字符串并触发SQL' LIKE'查询数据库表并返回匹配结果列表。

在每个击键事件的用户界面上,您需要进行ajax调用,该调用将调用上述PHP脚本并获取名称列表。您现在可以在下拉列表中显示该列表,或者jQuery UI中有很多插件可以为您创建此组件。

注意:如果您的表包含数千行,则使用LIKE查询自动填充字符串可能会很昂贵。如果性能在这里也是一个问题,那么请查看Apache Solr或Elasticsearch来索引数据并提供更复杂的自动完成结果。在这种情况下,您必须查询这些引擎并获取结果,而不是数据库。

但是,如果您不处理大量数据,您仍然可以使用LIKE查询。