在前面我們已經(jīng)給大家講了分頁(yè)程序,在這里再給大家提供一個(gè),分析一下也許有新的收獲.
復(fù)制代碼 代碼如下:
%
'以下程序是我的網(wǎng)站中的編程技術(shù)文章系統(tǒng)的部分代碼,著重突出分頁(yè),因此其他無(wú)用代碼被清除,您可修改后應(yīng)用
on error resume next '防止用戶(hù)隨意修改網(wǎng)址造成錯(cuò)誤
if request.querystring("page")="" then page=1:else:page=cint(request.querystring("page")) '的到網(wǎng)址中的頁(yè)數(shù) page=?
set link1=server.createobject("ADODB.Connection") '連接數(shù)據(jù)庫(kù)
link1.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" server.mappath("數(shù)據(jù)庫(kù)1.mdb")
set rs=server.createobject("adodb.recordset")
rs.open "select * from 表1",link1,1,1 '這幾句定義記錄集的游標(biāo)及每頁(yè)存儲(chǔ)的記錄條數(shù)和當(dāng)前頁(yè)設(shè)定,很重要
rs.pagesize=13
rs.AbsolutePage=page
if err.number>0 then '防止了用戶(hù)惡意修改網(wǎng)址,和數(shù)據(jù)庫(kù)無(wú)記錄的錯(cuò)誤
response.write "出現(xiàn)異常錯(cuò)誤"
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 這個(gè)解決分頁(yè)后顯示具體的編號(hào)
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'>!--使分頁(yè)連接不在新窗口彈出,以下是我要著重講的完美分頁(yè)程序的完整程序了,您可根據(jù)需要修改-->
%
pagelen=split(request.ServerVariables("Query_String"),"") '得到網(wǎng)址 ?號(hào) 后面的參數(shù)網(wǎng)址
if UBound(pagelen)1 then '如果網(wǎng)址是 xxx.asp?page=1 或 xxx.asp 類(lèi)型的則用標(biāo)準(zhǔn)的分頁(yè)方法
if page>1 then response.write "A href='a.asp?page=1'>首頁(yè)/a> a href='a.asp?page=" page-1 "'>上頁(yè)/a> ":else:response.write "首頁(yè) 上頁(yè) "
if pagers.pagecount then response.write "a href='a.asp?page=" page+1 "'>下頁(yè)/a> a href='a.asp?page=" rs.pagecount "'>尾頁(yè)/a> ":else:response.write "下頁(yè) 尾頁(yè) "
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 的類(lèi)型則進(jìn)行其他分頁(yè)方法
if page>1 then response.write "A href='a.asp?" pagelen(0) "page=1'>首頁(yè)/a> a href='a.asp?" pagelen(0) "page=" page-1 "'>上頁(yè)/a> ":else:response.write "首頁(yè) 上頁(yè) "
if pagers.pagecount then response.write "a href='a.asp?" pagelen(0) "page=" page+1 "'>下頁(yè)/a> a href='a.asp?" pagelen(0) "page=" rs.pagecount "'>尾頁(yè)/a> ":else:response.write "下頁(yè) 尾頁(yè) "
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>