留言板与公告板的设计与实现(2)

2019-03-16 15:03

7.2.2公告板数据库的设计

BBS中涉及两个数据表,一个是主题数据表,另一个是与主题相关的讨论帖数据表。主题数据表和相关讨论帖数据表如图7-5和图7-6所示。这两张表以TitleID为关键字进行关联。关联图如图7-7所示。

6

图7-5 titles数据表

图7-6details数据表

图7-7 titles和details关联图

7.2.3 讨论板功能的实现

讨论主要由输入主题、提交主题、显示主题和回复主题四个部分组成。网页文件主要有4个。其中xuexi.asp用于显示讨论板首页,包括讨论主题和提交主题功能,titlenew.asp用于将新主题写入数据库,detail.asp用于显示某个主题下的讨论内容,detnew.asp用于将讨论内容写入数据库。讨论板程序调用的实现,如图7-8所示。

图7-8

7.2.4程序设计要点

在Xuexi.asp中,显示的日期是主题创建日期到最后一条讨论内容的更新日期,是一个时间段,与titles数据表所一定的字段不一致。如图7-9所示。

图7-9

7

相应的程序如下:

日期

工作站小组名称 则数 主题 <%

if not rsData.EOF Then rsData.Movefirst While Not rsdata.EOF

Day1=right(\ Month1=right(\ Day2=Right(\ Month2=right(\ DateRange=Month1&\ %>

<%=DateRange%>

<%=rsData(\

<%

rsdata.MoveNext Wend %>

在显示记录的“主题”(subject)字段时,为主题设置了一个超级链接,以便进入detail.asp页面。超级链接的建立方法如下:

detnew.asp文件用于保存讨论内容。当进入某一个讨论主题,并发表意见之后,detnew.asp除了要将讨论内容保存于details数据表之外,还需要同时更新titles数据表的以下两个字段:

8

LastNewsDate字段:最后被讨论的时间,更新后的内容为系统时间(取now()函数)。 Number字段:参与讨论的则数,更新后,在原数的基础上加一。 上面两个字段的更新代码如下:

set cmd=server.CreateObject(\ set cmd.activeConnection=rsData.ActiveConnection

sql=\

titleId=\

cmd.CommandText=sql cmd.execute

实验 留言板与讨论板程序设计实例

本章实验主要针对留言板和讨论板进行设计,根据本章提供的数据库及源程序,设计出有特点的留言板和讨论板。下面的界面及源程序仅供参考。

一、留言板程序设计 1、界面设计

留言板首页比较简单,如图7-2所示。上部是留言显示部分,下面是留言添加表单,留言填写完毕后,单击“送出留言”按钮后传送到chuliliuyan.asp去处理,处理完后再引导回首页。如图7-10所示。

图7-10

2.Liuyanban.asp代码 <%

9

Dim strConn

Dim objConnection

set objConnection=Server.CreateObject(\strConn=\Source=\

objConnection.open strConn Dim rs

set rs=server.CreateObject(\

rs.open \时间 desc\%>