程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 經典的分頁完整程序+注釋

經典的分頁完整程序+注釋

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