用ASP做一個(gè)分頁程序
發(fā)表時(shí)間:2024-02-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]請(qǐng)看以下實(shí)現(xiàn)ASP分頁程序的代碼: $#@60;anguage="vbscript" dim conn dim connstr dim totalPut dim CurrentPage dim TotalPages dim i,j dim sql dim rs on error...
請(qǐng)看以下實(shí)現(xiàn)ASP分頁程序的代碼:
$#@60;anguage="vbscript"
dim conn
dim connstr
dim totalPut
dim CurrentPage
dim TotalPages
dim i,j
dim sql
dim rs
on error resume next
打開數(shù)據(jù)庫
connstr="DBQ="+server.mappath("book.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
set rs=server.createobject("adodb.recordset")
定義每頁文章顯示數(shù)
const MaxPerPage=18
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
sql="select * from learning order by articleid desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "$#@60;p align=center$#@62; 還 沒 有 任 何 文 章$#@60;/p$#@62;"
else
數(shù)據(jù)庫中文章數(shù)totalput
totalPut=rs.recordcount
if currentpage$#@60;1 then
currentpage=1
end if
統(tǒng)計(jì)總頁數(shù)currentpage
if (currentpage-1)*MaxPerPage$#@62;totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
if (currentPage-1)*MaxPerPage$#@60;totalPut then
rs.move (currentPage-1)*MaxPerPage
dim b mark
bookmark=rs.bookmark
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
currentPage=1
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
end if
end if
rs.close
end if
set rs=nothing
conn.close
set conn=nothing
sub showContent
dim i
i=0
do while not rs.eof
$#@62;
選擇顯示數(shù)據(jù)庫內(nèi)容
$#@60;a href="openarticle.asp?id=$#@60;=rs("articleid")$#@62;"$#@62;$#@60;=rs("title")$#@62;$#@60;/a$#@62;[點(diǎn)擊:$#@60;=rs("hits")$#@62;]$#@60;br$#@62;
$#@60;
當(dāng)顯示記錄大于maxperpage時(shí)結(jié)束這頁
i=i+1
if i$#@62;=MaxPerPage then exit do
rs.movenext
loop
end sub
function showpage(totalnumber,maxperpage,filename)
求出當(dāng)每頁18篇文章時(shí)總共的頁數(shù)
dim n
if totalnumber mod maxperpage=0 then
n= totalnumber \ maxperpage
else
n= totalnumber \ maxperpage+1
end if
response.write "$#@60;form method=Post action="&filename&"$#@62;"
response.write "$#@60;p align=center$#@62;$#@60;font color=#000080$#@62;$#@62;$#@62;分頁$#@60;/font$#@62; "
顯示頁數(shù)鏈接的條件
if CurrentPage$#@60;2 then
response.write "$#@60;font color=#000080$#@62;首頁 上一頁$#@60;/font$#@62; "
else
response.write "$#@60;a href="&filename&"?page=1&$#@62;首頁$#@60;/a$#@62; "
response.write "$#@60;a href="&filename&"?page="&CurrentPage-1&"$#@62;上一頁$#@60;/a$#@62; "
end if
if n-currentpage$#@60;1 then
response.write "$#@60;font color=#000080$#@62;下一頁 尾頁$#@60;/font$#@62;"
else
response.write "$#@60;a href="&filename&"?page="&(CurrentPage+1)
response.write "$#@62;下一頁$#@60;/a$#@62; $#@60;a href="&filename&"?page="&n&"$#@62;尾頁$#@60;/a$#@62;"
end ifc
response.write "$#@60;font color=#000080$#@62; 頁次:$#@60;/font$#@62;$#@60;strong$#@62;$#@60;font color=red$#@62;"&CurrentPage&"$#@60;/font$#@62;$#@60;font color=#000080$#@62;/"&n&"$#@60;/strong$#@62;頁$#@60;/font$#@62;"
response.write "$#@60;font color=#000080$#@62; 共$#@60;b$#@62;"&totalnumber&"$#@60;/b$#@62;篇文章 $#@60;b$#@62;"&maxperpage&"$#@60;/b$#@62;篇文章/頁$#@60;/font$#@62;"
response.write " $#@60;font color=#000080$#@62;轉(zhuǎn)到:$#@60;/font$#@62;$#@60;input type=text name=page size=4 maxlength=10 class=smallInput value="¤tpage&"$#@62;"
response.write "$#@60;input class=buttonface type=submit value= Goto name=cndok$#@62;$#@60;/span$#@62;$#@60;/p$#@62;$#@60;/form$#@62;"
end function
$#@62;
以上代碼很簡(jiǎn)單的就實(shí)現(xiàn)了ASP網(wǎng)頁的多種分頁功能,不論是對(duì)瀏覽者還是管理者都能很方便的瀏覽和管理,我只在相關(guān)部分作了一些解釋,象這個(gè)ASP程序還必須有數(shù)據(jù)庫的支持才可以,關(guān)于數(shù)據(jù)庫的問題我就不詳述了,具體的實(shí)例大家可以看看我的主頁(http://aasp.yeah.net)上的文章管理程序,另外還有具體的程序下載!