【发布时间】:2014-06-26 13:11:24
【问题描述】:
这就是问题所在。我无权创建数据库,并且我收到一个 csv,它每天计算大量数据。 (超过 200 000 行)
我必须让 Intranet 上的每个人都可以访问这些数据。因此,我创建了一个简单的 html/php 页面,该页面提取所有行并将这些信息显示在一个表格中,并使用一个简单的 fgetcsv 对每一列进行过滤。
问题是网络浏览器不适合同时显示那么多信息,所以它会导致它崩溃或冻结一段时间,而你一时无能为力。
我想知道是否有人知道如何对页面说“例如仅加载前 100 行,然后自动创建将加载并显示接下来的 100 行等的下一页。”
我设法只显示前 x 行,然后当您单击按钮时,表格将扩展为接下来的 x 行,但它们仍然会同时加载。剩下的 y 只是隐藏起来,所以浏览器仍然死机或冻结。
有什么想法吗?
谢谢
【问题讨论】:
-
如果你能展示一些你迄今为止所做的代码将会很有用。您是否只是渲染所有行并在其上放置“显示:无”?
-
你想要一个基于 JavaScript 的解决方案,load a CSV file via AJAX -- 问题是,它仍然会一次下载整个 CSV 文档,这会占用内存。最好的解决方案实际上是使用数据库,它可以被告知限制返回的行数。
-
即使您使用的是 csv,您也可以只检索您需要的行,不需要数据库。即使他使用数据库,他也必须解决同样的问题。
-
致 Alexander:为了只显示整个文件的 x 行,我使用了一个用作过滤器的 jquery 插件,但它也具有显示 x 数据量的功能。但由于它仍然加载所有文件,我只使用插件来过滤列。
标签: javascript php jquery html ajax