在前面我们已经给大家讲了分页程序,在这里再给大家提供一个,分析一下也许有新的收获.
复制代码 代码如下:
%
'以下程序是我的网站中的编程技术文章系统的部分代码,着重突出分页,因此其他无用代码被清除,您可修改后应用
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=13
rs.AbsolutePage=page
if err.number>0 then '防止了用户恶意修改网址,和数据库无记录的错误
response.write "出现异常错误"
response.end
end if
%>
base target='_blank'>!--使内容在新窗口弹出-->
table border=1>
%
for i=0 to rs.pagesize-1 '显示具体的数据内容了,i+(page*13-13)+1 这个解决分页后显示具体的编号
if rs.eof then exit for
response.write "tr>Td>" i+(page*13-13)+1 ":A href='" rs("连接") "'> rs("作者") "/a>/td>/tr>"
rs.movenext
next
%>
tr>Td align=right>
base target='_top'>!--使分页连接不在新窗口弹出,以下是我要着重讲的完美分页程序的完整程序了,您可根据需要修改-->
%
pagelen=split(request.ServerVariables("Query_String"),"") '得到网址 ?号 后面的参数网址
if UBound(pagelen)1 then '如果网址是 xxx.asp?page=1 或 xxx.asp 类型的则用标准的分页方法
if page>1 then response.write "A href='a.asp?page=1'>首页/a> a href='a.asp?page=" page-1 "'>上页/a> ":else:response.write "首页 上页 "
if pagers.pagecount then response.write "a href='a.asp?page=" page+1 "'>下页/a> a href='a.asp?page=" rs.pagecount "'>尾页/a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i " ":else:response.write "A href='a.asp?page=" i "'>" i "/a> "
next
else '如果网址是 xxx.asp?str1=参数page=1 的类型则进行其他分页方法
if page>1 then response.write "A href='a.asp?" pagelen(0) "page=1'>首页/a> a href='a.asp?" pagelen(0) "page=" page-1 "'>上页/a> ":else:response.write "首页 上页 "
if pagers.pagecount then response.write "a href='a.asp?" pagelen(0) "page=" page+1 "'>下页/a> a href='a.asp?" pagelen(0) "page=" rs.pagecount "'>尾页/a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i " ":else:response.write "A href='a.asp?" pagelen(0) "page=" i "'>" i "/a> "
next
end if 'pagelen(0)等于 str1=参数
'pagelen(1)等于 page=1
rs.close '释放资源
set rs=nothing
set link1=nothing
%>
/table>/body>/html>