我们如何在写作的同时从数据库中获取结果?
假设我输入了一个名称字段Ja
,然后一个选择框下拉,获取数据库中以其开头的所有名称。
像:
James
Jay
Jared
然后我再输入一个字母Jam
,然后所有名称都消失,只留下James
。
这个过程的名称是什么?我们该怎么做? 我只使用PHP(PDO),我是否也必须使用Java / jQuery?
答案 0 :(得分:0)
您尝试构建的功能称为自动完成功能。
您需要编写一个PHP脚本(假设您正在编写一个基于PHP的纯Web应用程序),该脚本在输入框中输入输入的字符串并触发SQL' LIKE'查询数据库表并返回匹配结果列表。
在每个击键事件的用户界面上,您需要进行ajax调用,该调用将调用上述PHP脚本并获取名称列表。您现在可以在下拉列表中显示该列表,或者jQuery UI中有很多插件可以为您创建此组件。
注意:如果您的表包含数千行,则使用LIKE查询自动填充字符串可能会很昂贵。如果性能在这里也是一个问题,那么请查看Apache Solr或Elasticsearch来索引数据并提供更复杂的自动完成结果。在这种情况下,您必须查询这些引擎并获取结果,而不是数据库。
但是,如果您不处理大量数据,您仍然可以使用LIKE查询。