【问题标题】:Javascript - get list from db on inputJavascript - 在输入时从 db 获取列表
【发布时间】:2014-02-21 11:42:16
【问题描述】:

就像实时过滤一样。每次用户在输入框中插入一个字符时,它都会检查数据库并返回是否有一个接近用户插入的值,然后它会列出一个列表,其中包含从 db 返回的所有接近值。

是否可以使用Javascript?我认为它会变得太慢,我需要最好的性能,应用程序需要尽可能保持最快。我已经尝试过使用 ajax(使用 Javascript/PHP),但这不是一个好主意,太慢了……我在想node.js,你怎么看?有什么想法吗?

我也需要组合两个输入框,以便从 db 中的不同列获得接近的结果。

对不起我的英语。

【问题讨论】:

  • 如果数据量不大(百万数据),可以一次性获取完整列表,在客户端使用javascript进行过滤。这样您可以获得最佳性能。 (您可以使用数组的过滤方法来过滤您的选择)
  • 如果您已经排除了 AJAX,那么您将陷入困境。
  • @ShaikMahaboobBasha 这是个好主意,但我的数据库有数百万数据(不是开玩笑)。
  • 如果你观察谷歌,他们只使用 AJAX 实现自动完成,所以 AJAX 还不错,你必须像谷歌一样微调你的应用程序。
  • @ShaikMahaboobBasha 是的,我刚刚读到:stackoverflow.com/questions/3670831/… 谢谢!我想我会尝试使用ajax。我会将您的答案标记为已接受的答案,但这是不可能的,因为您发布的是评论,而不是答案。 '-'

标签: javascript php database input filter


【解决方案1】:

你可以尝试使用谷歌的想法

检查这个已经回答的堆栈溢出问题:

how google autocomplete works

【讨论】:

  • 谢谢!你帮了我很多!
【解决方案2】:

那里有很多示例,我建议您阅读以下文章,讨论AJAX/jQueryPHP 中的实现与MySQL 数据库之间的区别。如果您已经实施了解决方案但存在性能问题,请发布您的代码。或许还有一些优化空间。

Example PHP/jQuery/Ajax by IBM

【讨论】:

  • 嗯...这是一篇不错的文章,我已经阅读了所有内容。但它并没有说性能。我认为如果与具有数百万数据的数据库一起使用它会变得太慢。你怎么看?
【解决方案3】:

您可以使用 JQuery 自动完成功能,它是一个非常强大的工具。

你有例子,你也可以看到代码:

http://jqueryui.com/autocomplete/

【讨论】:

  • 自动完成在这里不是一个好的选择。我的数据库有太多数据,如果我使用自动完成,列表会变得太长。
猜你喜欢
  • 1970-01-01
  • 2021-06-14
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 2022-12-30
相关资源
最近更新 更多