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