第6 章 BBS讨论区模块设计 6 .1 系统功能分析及总体设计 给网站建立BBS 讨论区是吸引用户的好方法。BBS 可以用于网站的主题讨论组,如流行音乐网可以提供 BBS 供用户对艺人的作品各抒己见,也可以用于网站的技术支持等。 本章将从以下几个方面介绍如何建立BBS 讨论区: — BBS 的功能分析及数据库设计; — BBS 讨论区主页面设计; — 帖子浏览及发布页面设计; — 讨论区管理设计; — 用户管理设计。 通过对本章的学习,读者将学会如何设计和实现一个 BBS 讨论区,并能够在本章介绍的BBS 讨论区的基础上进行功能上的扩充或调整。 6.1 系统功能分析及总体设计 BBS,即 Web 论坛,又叫讨论公告牌或主题讨论组。其思想就是允许用户发表帖子或提出问题,而其他人可以阅读并回复这些问题。在 BBS 中,每个讨论的主题叫一个话题,每个话题或回复都称为一个帖子。 6.1.1 系统功能概述 在将要实现的BBS 讨论区中用户可以进行如下操作: — 发表帖子开始新的讨论话题; — 对已有的帖子进行回复; — 查看所有话题列表; — 查看讨论区中的帖子内容; — 查看帖子之间的关系,即查看某篇帖子是哪篇的回复; — 搜索含有某些关键字构成的主题的帖子; — 新建、修改或删除版面; — 删除已发布的帖子; — 查看用户发帖排行榜; — 查看用户信息; — 删除用户; — 屏蔽用户发帖。 其中,前 6 项是讨论区的前台发帖、阅帖部分的功能,供普通用户使用;后 6 项是讨论区后台管理部分的功能,只有管理员有权使用。 6.1.2 问题分析 技术上而言,设计一个 BBS 讨论区应用程序的困难不在于保存及检索作者和消息文本,最困难的是如何找到一种保存所需信息的数据库结构,以及一种高效率浏览该结构的方法。 如图 6-1 所示是一个可能的帖子结构。 图 6-1 一种可能的帖子结构 在图 6-1 中,某主题的一个初始发表的话题有3 篇回复的帖子,这些回复的帖子中的一些又有它们自己的回复,而且这些帖子还可能有回复帖子等。 从图 6-1 中可以看出,这是一种典型的树形结构,其中有节点(或者说帖子)也有连接(或帖子之间的关系),正如任何树型结构一样。因此很容易想到使用 “树”这种数据结构来保存帖子数据及帖子间的连接,同时通过遍历一棵树可以很容易地检索到某篇帖子。 既然找到使用“树”来表示帖子结构的方法,那么进一步需要解决的问题是: — 找到一种将这种树型结...