繁体   English   中英

如何用HTML显示100,000行或更多行的数据库查询结果?

[英]How to display database query results of 100,000 rows or more with HTML?

我们正在重写我们的一位客户使用的网站。 它的用户流量非常低,每周不到 100 个独立访问者。 它基本上只是我们数据库中数据的一个很好的接口。 它允许他们查询和过滤他们不同的数据集。

我们正在用 Python 重写站点,重新使用数据当前所在的同一 Oracle 数据库。 当前版本是用旧版 Coldfusion 编写的。 Coldfusion 做得好的一件事是在单个页面上显示大量的数据库记录。 它能够一次显示数十万行而不会导致浏览器崩溃。 它使用 Java 小程序,看起来行的内容可能被压缩并通过 HTML 或其他东西传递。 HTML 中有一大块数据,但没有显示——它只是由 Java 小程序呈现。

我已经尝试了几种 JavaScript 解决方案,但它们都取决于这样一个事实,即数据将出现在 HTML 表格或类似的东西中。 这会导致浏览器冻结并耗尽内存。

有谁知道这种情况的任何解决方案? 我们的客户喜欢无需单击“下一页”链接即可滚动浏览所有这些数据的功能。

我已经使用以下方法完成了您所描述的操作(效果很好):

jQuery 数据表

它使您能够进行“滚动时获取”分页,因此您可以禁用分页箭头以支持“永远”滚动。

尝试使用 Jquery 滚动。

您需要滚动数据而不是图像滚动。

您应该在 divs 中填充数据,而不是图像。

http://www.smoothdivscroll.com/#quickdemo

它应该工作。 我希望。

无论如何,您必须是很棒的客户:-)

与你的 Q 相关的东西

http://www.9lessons.info/2009/07/load-data-while-scroll-with-jquery-php.html

http://api.jquery.com/scroll/

我在一个项目中使用Open Rico的 LiveGrid 将一个页面中包含数千行的表格显示为一个无限滚动的表格。 到目前为止,它一直工作得很好。 当您滚动浏览行时,表格会按需请求数据。 参数作为简单的 GET 参数发送,您必须在服务器端创建的响应是简单的 XML。 应该可以在 Python 中为 Rico LiveGrid 实现数据后端。

在这种情况下,大多数人会使用框架。 Python 中记录最好且最受欢迎的框架是 Django。 它具有良好的数据库支持(包括 Oracle),并且您将最容易获得使用它的帮助,因为有如此活跃的 Django 社区。

您可以尝试其他一些框架,但如果您使用 Python,我会推荐 Django。

当然,Jython(如果它是一个选项)会让您的工作变得非常轻松。 您可以使用现有的 Java 框架,并仅使用 Jython 来构建前端(并继续使用您的 Java 小程序、Java 类和 Java 服务器)。

记忆问题是一个有趣的问题; 我很想知道你想出了什么。

你试过jqGrid吗? 它有时可能有问题,但总的来说它是更好的 JavaScript 网格之一。 它在处理大型数据集时相当有效。 它还具有网格以块为单位异步检索数据的功能,但仍允许连续滚动。 当用户向下滚动到它时,它只是要求提供更多数据。

前阵子做过这样的事情,成功实现了YUI的数据表结合Django

http://developer.yahoo.com/yui/datatable/

这为您提供了列排序、分页、滚动等。 它还允许您使用各种数据源,例如 JSON 或 XML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM