经典的分页完整程式+注释,对带和不带参数的网址通用,强力推荐
来源:作者: 发布时间:2007-12-26 02:15:49


<%
以下程式是我的网站中的编程技术文章系统的部分代码,着重突出分页,因此其他无用代码被清除,您可修改后应用
本页程式的完整范例请登陆我网站 http://www.lshdic.com 的“技术文章”栏目查看
on error resume next 防止用户随意修改网址造成错误
if request.querystring("page")="" then page=1:else:page=cint(request.querystring("page")) 的到网址中的页数 page=?
set link1=server.createobject("adodb.connection") 连接数据库
link1.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("数据库1.mdb")
set rs=server.createobject("adodb.recordset")
rs.open "select * from 表1",link1,1,1 这几句定义记录集的游标及每页存储的记录条数和当前页设定,很重要
rs.pagesize=12
rs.absolutepage=page
if err.number<>0 then 防止了用户恶意修改网址,和数据库无记录的错误
response.write "出现异常错误"
response.end
end if
%>
<%
for i=0 to rs.pagesize-1 显示具体的数据内容了,i+(page*13-13)+1 这个解决分页后显示具体的编号
if rs.eof then exit for
response.write "| " & i+(page*13-13)+1 & ": & rs("作者") & " | "
rs.movenext
next
%>
<%
pagelen=split(request.servervariables("query_string"),"&") 得到网址 ?号 后面的参数网址
if ubound(pagelen)<1 then 假如网址是 xxx.asp?page=1 或 xxx.asp 类型的则用标准的分页方法
if page>1 then response.write "首页 上页 ":else:response.write "首页 上页 "
if page下页 尾页 ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "" & i & " "
next
else 假如网址是 xxx.asp?str1=参数&page=1 的类型则进行其他分页方法
if page>1 then response.write "首页 上页 ":else:response.write "首页 上页 "
if page下页 尾页 ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "" & i & " "
next
end if pagelen(0)等于 str1=参数
pagelen(1)等于 page=1
rs.close 释放资源
set rs=nothing
set link1=nothing
%>
| |