首页 理论教育 ASP动态网页设计-显示帖子页面

ASP动态网页设计-显示帖子页面

时间:2023-11-05 理论教育 版权反馈
【摘要】:显示帖子是将数据库中的所有帖子显示到用户浏览器中,这是用户进入论坛时首先能看到的内容。显示帖子需要注意以下几点:根据数据库中的status字段,判断该条记录是原文还是对原文的回复。如果是原文,则在浏览器中显示其留言的顺序号,对回复文章只标记其为“回文”,而并不显示其顺序号。在显示窗口中提供链接到查看帖子详细内容的页面。

ASP动态网页设计-显示帖子页面

显示帖子是将数据库中的所有帖子显示到用户浏览器中,这是用户进入论坛时首先能看到的内容。当然,数据库中的各字段都要有所体现。

显示帖子需要注意以下几点:

(1)根据数据库中的status字段,判断该条记录是原文还是对原文的回复。如果是原文,则在浏览器中显示其留言的顺序号,对回复文章只标记其为“回文”,而并不显示其顺序号。

(2)帖子的详细内容并不是放在该页面中。因为论坛的内容比较多,加上原文和回复文章的交替出现导致帖子内容上比较复杂,因此让用户进一步操作来获得有关帖子的详细内容。

(3)在显示窗口中提供链接到查看帖子详细内容的页面。提供链接的是发言的主题。

(4)在显示窗口中提供链接到帖子作者的信箱。提供链接的是作者的E-mail地址

显示帖子程序mainnote.asp 的代码如下 :

〈!--#Include file=″config.inc″--〉

〈HTML〉

〈HEAD〉

〈TITLE〉查看讨论主题〈/TITLE〉

〈/HEAD〉

〈BODY style=″font :l0pt ;margin-left :4pt″〉

〈BR〉

〈A style=″color :blue;cursor :hand;font :l0pt;text-decoration:underline″onclick=

″Window.open (′noteadd .htm′,′_blank′,′toolbars=no,scrollbars=yes,width=420

,height=300′)″〉添加新主题〈/A〉

〈HR color=″#999933″ size=l〉

〈FONT style=″font :l0pt ;color :#CC66FF″〉

′如果您看不到 自己的留言,单击刷新按钮,稍侯即可〈/FONT〉

〈TABLE width=570 border=0 cellPadding=O cellSpacing=l bordercolor=#baccff〉

〈%

Dim ipagesize ′每页显示记录数

ipagesize=l0

page=request .querystring (″page″)

If page=″″Then

page=l

End If ′如果是第1次浏览该页,则说明page是空,那么就将它的值设为1

′连接数据库

Set conn=server .createobject (″adodb .connection″)

Conn.open connstring

Set objnoters=server .createobject (″adodb .recordset″)

ssgl=″select*from notetable order by notetime desc″′将最新的留言显示在最前面

objnoters .open ssgl,conn,1,3

′到此完成数据库打开操作

If objnoters .eof Then

Response .write ″目前还没有任何文章信息!″

Response .end

End If

′制作 显 示 留言的表 头

Response .write ″〈TR becolor=#baccff class=classl align=center〉〈TDwidth=50〉

序号〈/TD〉〈TD width=140〉主题〈/TD〉〈TD width=70〉作者〈/TD〉〈TD width=140〉E-mail

〈/TD〉〈TD width=130〉发表时间〈/TD〉〈TD width=60〉阅读数〈/TD〉〈/TR〉″

′输 出所有 留言

Objnoters .pagesize=ipagesize ′设置每页显示记录数

pagetotal=Objnoters .pagecount ′根据 pagesize 计算总页数

Objnoters .absolutepage=page ′转到要显示的页

Response .write ″〈TR〉〈TD colspan=″″6″″〉〈TABLE width=″″l00%″″ border=0

Cellspacing=0 cellPadding=2 becolor=#eeeeee〉″

For position=l to ipagesize

Response.write ″〈tr align=center〉〈td width=50〉″

If objnoters(″status″)=0 then ′表明这个贴子记录是原创文章

Response.write cint(right(objnoters(″noteid″),5))

′打印出此留言的编号(原文编号,没有计回文)

Else(www.xing528.com)

Response.write ″〈FONT color=#FF00FF〉回文〈/FONT〉″

End If

Response.write ″〈/TD〉″ ′下面打印出此条留言的其他部分

Response.write ″〈TD width=150〉″

%〉

〈A style=″cursor:hand;color:blue;text-decoration:underline″

onclick=″window.open(′noteview.asp?noteid=〈%=objnoters(″noteid″)%〉′,′_bla nk′,′toolbars=no,scrollbars=yes,width=420,heigh:=200′)″〉〈%=objnoters(″sub ject″)%〉〈/A〉

〈%

Response.write ″〈/TD〉″

Response.write ″〈TD width=70〉″&objnoters(″userid″)&″〈/TD〉″

Response.write ″〈TD width=140〉″

%〉

〈A href=″mailto:〈%=objnoters(″email″)%〉″〉〈%=objnoters(″email″)%〉〈/A〉

〈%

Response.write ″〈/TD〉″

Response.write ″〈TD width=130〉″&objnoters(″notetime″)&″〈/TD〉″

Response.write ″〈TD width=60〉″&objnoters(″readnum″)&″〈/TD〉〈/TR〉″

Objnoters.movenext

If objnoters.eof Then

Exit For ′已经到了表的尾

End If

Next

%〉

〈/TABLE〉〈/TD〉〈/TR〉

〈/TABLE〉

〈%

Response.write ″   页码:

for pagetemp=l to pagetotal

If pagetemp=cint(page)Then ′如果是当前页面则不予超级链接

Response.write ″〈FONT color=#CC00FF〉【″&pagetemp &″】〈/FONT〉″

Else ′给其他页面提供超级链接

%〉

〈FONT color=#009900〉

〈A HREF=″mainnote.asp?page=〈%=pagetemp%〉″〉【〈%=pagetemp%〉】〈/A〉〈/FONT〉

〈%

End If

next

%〉

〈/BODY〉

〈/HTML〉

config.inc文件是一个初始化文件,其中定义了一些基本常用的变量,这些变量在其他程序中都经常会用到,而把它们集中到config.inc文件中完全是为了节省编程的劳动量,也在一定程度上简化了程序,增强程序的可读性和可维护性,这是一种很好的编程习惯和素质,同学们要认真体会。其内容如下:

〈%

connstring=″DRIVER={Microsoft Access Driver(*.mdb)};DBQ=″&_

Server.MapPath(″aspdb.mdb″)

pagesize=3 ′Total number of prctuct per one page

timeoutsession=5 ′Decide how long customer can stay without making new page

Session.timeout=timeoutsession

Function sqlstr(data)

Sqlstr=″′″&Replace(data,″′″,″′′″)&″′″

End Function

%〉

下面对程序的基本原理讲解如下:

先在mainnote.asp中将数据库中notebook表内的所有发表主题信息分页显示出来。按照时间进行排序,最新的发言排在最靠前的位置。判断每一条发言的状态字段,如果是原创文章则进行编号处理;如果是回复文章则提示该文章为“回文”。在发表帖子主题字段提供链接,链接到帖子查看程序noteview.asp中查看具体的发表主题详情,传递的参数是发表主题的编号。显示效果如图8-5所示。

图8-5 论坛帖子主页面

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈