当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP做一个分页程序

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

用ASP做一个分页程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 60 ::
收藏到网摘: n/a

请看以下实现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="&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$