经典的分页完整程序+注释

时间:2021-05-18

在前面我们已经给大家讲了分页程序,在这里再给大家提供一个,分析一下也许有新的收获.
复制代码 代码如下:
<%
'以下程序是我的网站中的编程技术文章系统的部分代码,着重突出分页,因此其他无用代码被清除,您可修改后应用
onerrorresumenext'防止用户随意修改网址造成错误
ifrequest.querystring("page")=""thenpage=1:else:page=cint(request.querystring("page"))'的到网址中的页数page=?

setlink1=server.createobject("ADODB.Connection")'连接数据库
link1.open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.mappath("数据库1.mdb")
setrs=server.createobject("adodb.recordset")
rs.open"select*from表1",link1,1,1'这几句定义记录集的游标及每页存储的记录条数和当前页设定,很重要
rs.pagesize=13
rs.AbsolutePage=page
iferr.number<>0then'防止了用户恶意修改网址,和数据库无记录的错误
response.write"出现异常错误"
response.end
endif
%>
<basetarget='_blank'><!--使内容在新窗口弹出-->
<tableborder=1>
<%
fori=0tors.pagesize-1'显示具体的数据内容了,i+(page*13-13)+1这个解决分页后显示具体的编号
ifrs.eofthenexitfor
response.write"<tr><Td>"&i+(page*13-13)+1&":<Ahref='"&rs("连接")&"'>&rs("作者")&"</a></td></tr>"
rs.movenext
next
%>
<tr><Tdalign=right>
<basetarget='_top'><!--使分页连接不在新窗口弹出,以下是我要着重讲的完美分页程序的完整程序了,您可根据需要修改-->
<%
pagelen=split(request.ServerVariables("Query_String"),"&")'得到网址?号后面的参数网址
ifUBound(pagelen)<1then'如果网址是xxx.asp?page=1或xxx.asp类型的则用标准的分页方法
ifpage>1thenresponse.write"<Ahref='a.asp?page=1'>首页</a><ahref='a.asp?page="&page-1&"'>上页</a>":else:response.write"首页上页"
ifpage<rs.pagecountthenresponse.write"<ahref='a.asp?page="&page+1&"'>下页</a><ahref='a.asp?page="&rs.pagecount&"'>尾页</a>":else:response.write"下页尾页"
fori=1tors.pagecount
ifi=pagethenresponse.writei&"":else:response.write"<Ahref='a.asp?page="&i&"'>"&i&"</a>"
next

else'如果网址是xxx.asp?str1=参数&page=1的类型则进行其他分页方法

ifpage>1thenresponse.write"<Ahref='a.asp?"&pagelen(0)&"&page=1'>首页</a><ahref='a.asp?"&pagelen(0)&"&page="&page-1&"'>上页</a>":else:response.write"首页上页"
ifpage<rs.pagecountthenresponse.write"<ahref='a.asp?"&pagelen(0)&"&page="&page+1&"'>下页</a><ahref='a.asp?"&pagelen(0)&"&page="&rs.pagecount&"'>尾页</a>":else:response.write"下页尾页"
fori=1tors.pagecount
ifi=pagethenresponse.writei&"":else:response.write"<Ahref='a.asp?"&pagelen(0)&"&page="&i&"'>"&i&"</a>"
next
endif'pagelen(0)等于str1=参数
'pagelen(1)等于page=1
rs.close'释放资源
setrs=nothing
setlink1=nothing
%>
</table></body></html>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章