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\%>