經(jīng)典的分頁完整程序+注釋
更新時間:2006年10月23日 00:00:00 作者:
在前面我們已經(jīng)給大家講了分頁程序,在這里再給大家提供一個,分析一下也許有新的收獲.
<%
'以下程序是我的網(wǎng)站中的編程技術(shù)文章系統(tǒng)的部分代碼,著重突出分頁,因此其他無用代碼被清除,您可修改后應(yīng)用
on error resume next '防止用戶隨意修改網(wǎng)址造成錯誤
if request.querystring("page")="" then page=1:else:page=cint(request.querystring("page")) '的到網(wǎng)址中的頁數(shù) page=?
set link1=server.createobject("ADODB.Connection") '連接數(shù)據(jù)庫
link1.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("數(shù)據(jù)庫1.mdb")
set rs=server.createobject("adodb.recordset")
rs.open "select * from 表1",link1,1,1 '這幾句定義記錄集的游標(biāo)及每頁存儲的記錄條數(shù)和當(dāng)前頁設(shè)定,很重要
rs.pagesize=13
rs.AbsolutePage=page
if err.number<>0 then '防止了用戶惡意修改網(wǎng)址,和數(shù)據(jù)庫無記錄的錯誤
response.write "出現(xiàn)異常錯誤"
response.end
end if
%>
<base target='_blank'><!--使內(nèi)容在新窗口彈出-->
<table border=1>
<%
for i=0 to rs.pagesize-1 '顯示具體的數(shù)據(jù)內(nèi)容了,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'><!--使分頁連接不在新窗口彈出,以下是我要著重講的完美分頁程序的完整程序了,您可根據(jù)需要修改-->
<%
pagelen=split(request.ServerVariables("Query_String"),"&") '得到網(wǎng)址 ?號 后面的參數(shù)網(wǎng)址
if UBound(pagelen)<1 then '如果網(wǎng)址是 xxx.asp?page=1 或 xxx.asp 類型的則用標(biāo)準(zhǔn)的分頁方法
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 '如果網(wǎng)址是 xxx.asp?str1=參數(shù)&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=參數(shù)
'pagelen(1)等于 page=1
rs.close '釋放資源
set rs=nothing
set link1=nothing
%>
</table></body></html>
復(fù)制代碼 代碼如下:
<%
'以下程序是我的網(wǎng)站中的編程技術(shù)文章系統(tǒng)的部分代碼,著重突出分頁,因此其他無用代碼被清除,您可修改后應(yīng)用
on error resume next '防止用戶隨意修改網(wǎng)址造成錯誤
if request.querystring("page")="" then page=1:else:page=cint(request.querystring("page")) '的到網(wǎng)址中的頁數(shù) page=?
set link1=server.createobject("ADODB.Connection") '連接數(shù)據(jù)庫
link1.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("數(shù)據(jù)庫1.mdb")
set rs=server.createobject("adodb.recordset")
rs.open "select * from 表1",link1,1,1 '這幾句定義記錄集的游標(biāo)及每頁存儲的記錄條數(shù)和當(dāng)前頁設(shè)定,很重要
rs.pagesize=13
rs.AbsolutePage=page
if err.number<>0 then '防止了用戶惡意修改網(wǎng)址,和數(shù)據(jù)庫無記錄的錯誤
response.write "出現(xiàn)異常錯誤"
response.end
end if
%>
<base target='_blank'><!--使內(nèi)容在新窗口彈出-->
<table border=1>
<%
for i=0 to rs.pagesize-1 '顯示具體的數(shù)據(jù)內(nèi)容了,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'><!--使分頁連接不在新窗口彈出,以下是我要著重講的完美分頁程序的完整程序了,您可根據(jù)需要修改-->
<%
pagelen=split(request.ServerVariables("Query_String"),"&") '得到網(wǎng)址 ?號 后面的參數(shù)網(wǎng)址
if UBound(pagelen)<1 then '如果網(wǎng)址是 xxx.asp?page=1 或 xxx.asp 類型的則用標(biāo)準(zhǔn)的分頁方法
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 '如果網(wǎng)址是 xxx.asp?str1=參數(shù)&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=參數(shù)
'pagelen(1)等于 page=1
rs.close '釋放資源
set rs=nothing
set link1=nothing
%>
</table></body></html>
相關(guān)文章
asp實現(xiàn)批量錄入數(shù)據(jù)的實現(xiàn)
asp實現(xiàn)批量錄入數(shù)據(jù)的實現(xiàn)...2006-12-12asp中Request.ServerVariables的參數(shù)集合
這篇文章主要介紹了asp中Request.ServerVariables的參數(shù)集合,需要的朋友可以參考下2020-02-02javascript asp教程第十一課--Application 對象
javascript asp教程第十一課--Application 對象...2007-03-03asp Fix、Int、Round、CInt函數(shù)使用說明
Fix(number) 和 Int(number) 都是返回數(shù)字的整數(shù)部分,Round(number, numdecimalplaces),第二個參數(shù)表示從小數(shù)點右邊第幾位開始實行四舍五入,可以省略,默認(rèn)是0,即四舍五入返回整數(shù)2011-05-05