论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

ASP中关于帖子分页显示的基本方法

文章类别:asp | 发表日期:2008-10-5 20:50:19

ASP中关于帖子分页显示的基本方法

  在了解了Recordset对象的以上属性和方法后,我们来考虑一下,如何运用它们来达到我们分页显示的目的。首先,我们可以为PageSize属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount属性来确定记录的总数;再用记录总数除以PageSize就可得到所显示的页面总数;最后通过AbsolutePage属性就能完成对指定页的访问。好象很并不复杂呀,下面让我们来看看程序该如何实现呢?

  我们建立这样一个简单的BBS应用程序,它的数据库中分别有以下五个字段:“ID”,每个帖子的自动编号;“subject”,每个帖子的主题;“name”,加帖用户的姓名;“email”,用户的电子邮件地址;“postdate”,加帖的时间。数据库的DSN为“bbs”。我们将显示帖子分页的所有步骤放在一个名为“ShowList()”的过程中,方便调用。程序如下:

’----BBS显示帖子分页----

< Sub ShowList() >

<

PgSz=20 ’设定开关,指定每一页所显示的帖子数目,默认为20帖一页

Set Conn = Server.CreateObject("ADODB.Connection")

Set RS = Server.CreateObject("ADODB.RecordSet")

sql = "SELECT * FROM message order by ID DESC"

’查询所有帖子,并按帖子的ID倒序排列

Conn.Open "bbs"

RS.open sql,Conn,1,1

If RS.RecordCount=0 then

response.write "< P>< center>对不起,数据库中没有相关信息!< /center>< /P>"

else

RS.PageSize = Cint(PgSz) ’设定PageSize属性的值

Total=INT(RS.recordcount / PgSz * -1)*-1 ’计算可显示页面的总数

PageNo=Request("pageno")

if PageNo="" Then

PageNo = 1

else

PageNo=PageNo+1

PageNo=PageNo-1

end if

ScrollAction = Request("ScrollAction")

if ScrollAction = " 上一页 " Then

PageNo=PageNo-1

end if

if ScrollAction = " 下一页 " Then

PageNo=PageNo+1

end if

if PageNo < 1 Then

PageNo = 1

end if

n=1

RS.AbsolutePage = PageNo

Response.Write "< CENTER>"

position=RS.PageSize*PageNo

pagebegin=position-RS.PageSize+1

if position < RS.RecordCount then

pagend=position

else

pagend= RS.RecordCount

end if

Response.Write "< P>< font color=’Navy’>< B>数 据 库 查 询 结 果:< /B>"

Response.Write "(共有"&RS.RecordCount &"条符合条件的信息,显示"&pagebegin&"-"&pagend&")< /font>< /p>"

Response.Write "< TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"

Response.Write "< TR BGCOLOR=#5FB5E2 >< FONT SIZE=2 >< TD >< B >主 题< /B >< /TD >< TD >< B >用 户< /B >< /TD >< TD >< B >Email< /B >< /TD >< TD >< B >发 布 日 期< /B >< /TD >< /FONT >< TR BGCOLOR=#FFFFFF >"

Do while not (RS is nothing)

RowCount = RS.PageSize

Do While Not RS.EOF and rowcount > 0

If n=1 then

Response.Write "< TR BGCOLOR=#FFFFFF>"

ELSE

Response.Write "< TR BGCOLOR=#EEEEEE>"

End If

n=1-n >

< TD>< span style="font-size:9pt">< A href=’view.asp?key=< =RS("ID")>’>< =RS("subject")>< /A>< /span>< /td>

< TD>< span style="font-size:9pt">< =RS("name")>< /A>< /span>< /td>

< TD>< span style="font-size:9pt">< a href="mailto:< =RS("email")>">< =RS("email")>< /a>< /span> < /TD>

< TD>< span style="font-size:9pt">< =RS("postdate")>< /span> < /td>

< /TR>

<

RowCount = RowCount - 1

RS.MoveNext

Loop

set RS = RS.NextRecordSet

Loop

Conn.Close

set rs = nothing

set Conn = nothing

>

< /TABLE >

< FORM METHOD=GET ACTION="list.asp" >

< INPUT TYPE="HIDDEN" NAME="pageno" VALUE="< =PageNo >" >

<

if PageNo > 1 Then

response.write "< INPUT TYPE=SUBMIT NAME=’ScrollAction’ VALUE=’ 上一页 ’>"

end if

if RowCount = 0 and PageNo < >Total then

response.write "< INPUT TYPE=SUBMIT NAME=’ScrollAction’ VALUE=’ 下一页 ’>"

end if

response.write "< /FORM>"

End if

>

< End Sub %>
视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058