当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 分页显示之超级提速版

CSS样式表
提高网页效率的14条注意事项图文
提高网页的效率 Use YSlow to know why your web Slow
学习WEB标准总结的一些CSS/XHTML知识小结
CSS文件可维护、可读性提高指南
Firefox下样式设置宽度奇怪现象
Chrome的hack写法以及CSS的支持程度图示
IE6支持position:fixed完美解决方法
css为图片设置背景图片
ASP、PHP与javascript根据时段自动切换CSS皮肤的代码
css图片切换效果代码[不用js]
css import与link的区别
BS项目中的CSS架构_仅加载自己需要的CSS
div结合css布局bbs首页(div+css布局入门)
css 兼容性问题this.style.cursor=''''hand''''
CSS渐变统计柱形图
跨浏览器的实践:position:fixed 层的固定定位
标准布局常见问题及解决办法
css美化input file按钮的代码方法
重置默认样式 css reset
支持IE6 IE7 Firefox 的纯CSS的下拉菜单

CSS样式表 中的 分页显示之超级提速版


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 66 ::
收藏到网摘: n/a

大家知道,asp本身提供分页功能,但是,如果数据量很大的时候,分页显示起来,每换一页都要等N长时间,那是人们最讨厌的事情。那为什么每换一页都要这么长时间呢?其实,事实上每换一个页面,后台就从数据库中检索一次数据,这样一来数据量大了,自然速度缓慢。这当中我们可以看出它做了很多次重复的工作。数据的检索只要一次就够了,因为数据没被操作过,无论检索几次结果都是一样的。我们的目标就是要把这当中的重复检索次数减少到最少,1次或者2次。方法就是:把检索好的数据保存起来(比如你可以在登录成功后就在后台检索你要的数据,把检索出来的存为数组放入session,然后再跳转到要显示数据的页面),当然这里可以用session变量来保存(好像用cookie无法保存),不过我知道它的极限是多少,如果数据量大到使session变量溢出的话,那我也无计可施了。废话少说了,下面说明下怎么个保存数据法?
首先要从数据库读取数据,建议使用存储过程读取
Set cmd = Server.CreateObject("ADODB.Command")
With cmd
.ActiveConnection=conn
.CommandType=&H0004 '存储过程
.CommandText="guestbookpro"
End With
Dim resultRS, resultArray
Set resultRS = cmd.Execute(, Null)
If Not resultRS.EOF Then
resultArray = resultRS.GetRows()
End If
Set resultRS = Nothing
Set cmd = Nothing
session("arr")=resultArray
哈哈,数据已经读出,接下来就该对数据进行分页显示了。。
page----当前页
frompage----页面开始记录位置
topage-----页面结束纪录位置
pagesize----每页显示的记录条数
n---记录总数
yushu-----最后一页的记录数
resultArray=session("arr")
n=UBound(resultArray,2)+1
pagesize=5
'response.write "<scri"&"pt>alert('"&n&"')"
'response.write "</script>"
yushu=n mod pagesize
if yushu=0 then
totalpage=fix(n/pagesize)
else
totalpage=fix(n/pagesize)+1
End If
If request("page")="" Then
page=1
Else
page=Int(request("page"))
End if
If page>totalpage Then
page=1
End If
If page<=0 Then
page=totalpage
End If
frompage=(page-1)*pagesize
topage=frompage+pagesize-1
if yushu=0 then
frompage=(page-1)*pagesize
topage=frompage+pagesize-1
else
frompage=(page-1)*pagesize
topage=frompage+pagesize-1
If page=totalpage Then
frompage=(page-1)*pagesize
topage=frompage+yushu-1
End if
end If
有什么地方说的不对,请多多指教
演示地址:http://fishbone31.w3.zccn.net
我这个网站因为上一页下一页刷新的都是整页,而非读取数据页[body.asp],所以速度不是很理想。
账号密码均为test