请看以下实现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
打开数据库
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")
定义每页文章显示数
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
数据库中文章数totalput
totalput=rs.recordcount
if currentpage$#@60;1 then
currentpage=1
end if
统计总页数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;
选择显示数据库内容
$#@60;a href="openarticle.asp?id=$#@60;=rs("articleid")$#@62;"$#@62;$#@60;=rs("title")$#@62;$#@60;/a$#@62;[点击:$#@60;=rs("hits")$#@62;]$#@60;br$#@62;
$#@60;
当显示记录大于maxperpage时结束这页
i=i+1
if i$#@62;=maxperpage then exit do
rs.movenext
loop
end sub
function showpage(totalnumber,maxperpage,filename)
求出当每页18篇文章时总共的页数
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; "
显示页数链接的条件
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="¤tpage-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;"¤tpage&"$#@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;转到:$#@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;
以上代码很简单的就实现了asp网页的多种分页功能,不论是对浏览者还是管理者都能很方便的浏览和管理,我只在相关部分作了一些解释,象这个asp程序还必须有数据库的支持才可以,关于数据库的问题我就不详述了,具体的实例大家可以看看我的主页(http://aasp.yeah.net)上的文章管理程序,另外还有具体的程序下载!
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器