如何用HTML显示10万行以上的数据库查询结果?
我们正在重写一个客户使用的网站。这个网站的用户流量非常低,每周独立访客不到100人。其实这个网站就是一个漂亮的界面,用来展示他们在我们数据库里的数据。用户可以查询和筛选他们的数据。
我们正在用Python重写这个网站,继续使用当前的数据存储在Oracle数据库里。现在的网站是用一个非常老旧的ColdFusion版本写的。不过,ColdFusion有一个很强的功能,就是可以在一页上显示大量的数据库记录。它可以一次性显示成千上万行数据而不会让浏览器崩溃。它使用了一个Java小程序,似乎是把行内容进行了压缩,然后通过HTML传递过来的。虽然HTML里有一大块数据,但并没有直接显示出来,而是通过Java小程序渲染的。
我尝试了几种JavaScript的解决方案,但它们都依赖于数据会以HTML表格的形式存在。这会导致浏览器卡住,甚至内存不足。
有没有人知道有什么解决办法?我们的客户非常喜欢能够滚动浏览所有这些数据,而不需要点击“下一页”的链接。
6 个回答
我在一个项目中使用了Open Rico的LiveGrid,目的是在页面上显示一个有成千上万行的表格,并且这个表格可以无限滚动。到目前为止,它运行得非常顺利。当你滚动浏览这些行时,表格会根据需要请求数据。请求的数据是通过简单的GET参数发送的,而你需要在服务器端创建的响应则是简单的XML格式。用Python为Rico LiveGrid实现一个数据后端应该是可行的。
试试用Jquery来实现滚动效果。
你需要的是数据滚动,而不是图片滚动。
应该在
http://www.smoothdivscroll.com/#quickdemo
这样应该可以工作。希望如此。
不管怎样,你的客户真不错 :-)
这和你的问题有点关系
http://www.9lessons.info/2009/07/load-data-while-scroll-with-jquery-php.html