在前面我們已經給大家講了分頁程序,在這裡再給大家提供一個,分析一下也許有新的收穫.
複製代碼代碼如下:
<%
'以下程序是我的網站中的編程技術文章系統的部分代碼,著重突出分頁,因此其他無用代碼被清除,您可修改後應用
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>"