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

2016-01-29 18:35 7 1 收藏

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

【 tulaoshi.com - ASP 】

  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

来源:http://www.tulaoshi.com/n/20160129/1506459.html

延伸阅读
标签: ASP
  foxty [原作]     近日一直在研究如何才能写出高小的分页算法,大概整理了一下,思路如下:       首先数据库里需要有一个自动编号字段(ID)。然后第一次访问的时候,取出所有记录,定制好每页的记录数PageSize,计算出页数,然后根据页数建立一个一维数组PageId(PageCount),PageId(0)保存记录...
标签: ASP
asp 中查询 oracle数据库 的分页程序,没有用存储过程,效率还可以。 代码如下: ''''  塞北的雪  分页利器(oracle)  不用存储过程   ------------------------- '其中注释中有 ###的需要用户设置 '其中注释中有 参数传递 ** 的 说明要通过参数 传递。 '定义变量 dim tOption     &nb...
标签: ASP
       这里我想谈谈ASP.Net中对时间的处理       在ASP.Net中,M$为我们提供一种名为DateTime的对象,我们用这个对象来取得当前的时间。比如:       DateTime dt=DateTime.Now;       在上面的程序中我们取得了...
标签: Java JAVA基础
      在页面中,当检索的数据很多时,通常需要分页显示数据,并要实现翻页。 下面将通过一些例程来说明实现JSP页面翻页技术的实现。 首先,在JSP中,通过JAVA servlet 来检索数据,而用JSP来调用结果来显示。 因而,此技术可分为两个部分(依赖关系): 1. 在服务器端的servlet 中的实现 要点: &将查询...
标签: ASP
          我的一个asp + sqlserver的分页程序:这个程序的特点就是指将当前页的纪录掉到页面上来。性能不错,而且不用存储过程,由于代码没有封装,所以很零散,要用到你的程序中,需要先简单读读。然后注意需要自己设置的地方的意思。有些是可以省略的。有些参数传递也是可以省略的。 代码如下: ...

经验教程

703

收藏

92
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部