8.3 论坛系统主页面
在Dreamweaver中定义站点,建立数据库连接后,就可以进入PHP网页页面的设计阶段,首先制作最重要的首页index.php,index.php页面主要显示所有的讨论主题和最新回复的一些信息。
8.3.1 论坛系统首页
论坛系统的主页面index.php显示所有的讨论主题、每个主题的点击数、回复数以及最新回复时间。访问者可以单击要阅读的标题链接至详细内容,管理员单击“管理”图标进入管理页面,系统主页面index.php的静态页面设计如图8-20所示。
图8-20 BBS论坛系统主页面静态设计效果图
详细的操作步骤如下:
01 单击“应用程序”面板中“绑定”标签上的按钮,在弹出的下拉菜单中选择“记录集(查询)”选项,弹出“记录集”对话框,在该对话框中进行如下设置:
● 在“名称”文本框中输入rs_bbs作为该记录集的名称。
● 从“连接”下拉列表框中,选择数据源连接对象bbs。
● 从“表格”下拉列表框中,选择使用的数据库表对象为bbs_main。
● 在“列”栏中选中“全部”单选按钮。
完成的设置情况如图8-21所示。
图8-21 “记录集”对话框
02 再单击“高级”按钮,进入记录集高级设定的页面,将现有的SQL语法改成以下的SQL语法,如图8-22所示。
图8-22 改写SQL语句
注意
Bbs_ref数据表中的记录可以通过bbs_main_ID字段关联到bbs_main数据表中的bbs_ID字段。因为bbs_ref数据中对应的数据表可能不存在,bbs_main数据表并非一定有对应回复的话题。所以LEFT OUTER JOIN将接合关系中的两个数据表分成左右两个数据表,其中左边数据表在经过接合后,不管右边数据表是否存在,仍然会将资料全部列出。简单地说,就是不管讨论主题bbs_main是否有任何的回复bbs_ref,使用LEFT OUTER JOIN可以将数据表bbs_main中的所有讨论主题都显示出来。
另外,GROUP BY语句是针对bbs_main数据表中的bbs_ID字段,在第2行到第6行之间的意思就是说取出bbs_main数据表中的特定字段内容。同时将bbs_ref中的关联取出,获得bbs_time和bbs_ID的两个字段内容。bbs_ref_time字段取所有记录当中时间最新回复的那一条用来显示。而bbs_ID字段则用COUNT计算有多少人回复的数目。
03 绑定记录集后,将绑定字段插入至index.php网页中的适当位置,如图8-23所示。
图8-23 绑定字段的插入
04 插入字段后把光标放入到“心情”下面的单元格里,然后再执行菜单栏“插入”→“图像对象”→“图像占位符”命令,打开“图像占位符”对话框,设置高度和宽度都为20像素,如图8-24所示。单击“确定”按钮,插入一个图像占位符。
图8-24 “图像占位符”对话框
05 插入“图像占位符”之后,选中图像占位符,单击“属性”面板中的“源文件”文本框后面的“浏览文件”按钮,打开“选择文件”对话框,在该对话框中选中“数据源”单选按钮,然后在“域”列表框中选择“记录集(rs_bbs)”选项组中的bbs_Face字段,如图8-25所示。
图8-25 选择字段
06 单击“确定”按钮,完成记录集的绑定。开始进行显示区域的设置,首先选取记录集有数据时要显示的数据表格,如图8-26所示。
图8-26 选择要显示的一列
07 单击“服务器行为”面板上的按钮,在弹出的下拉菜单中选择“显示区域”→“如果记录集不为空则显示区域”选项,在打开的“如果记录集不为空则显示区域”对话框中,单击“确定”按钮回到编辑页面,会发现先前所选取要显示的区域左上角出现了“如果符合此条件则显示”字样,这表示已经完成设置,如图8-27所示。
图8-27 完成显示设置
08 选择没有发布主题数据时要显示的文字“目前没有发表任何主题”,根据前面的操作方法,将区域设定成“如果记录集为空则显示”,页面显示如图8-28所示。
图8-28 选择没有数据时的显示
09 加入“服务器行为”中“重复区域”的设置,单击index.php页面中要重复的记录列,如图8-29所示。
图8-29 选择要重复显示的那一列
10 单击“应用程序”面板群组中的“服务器行为”标签上的按钮,在弹出的下拉菜单中选择“重复区域”选项,在打开“重复区域”对话框中设置显示的记录数为20,如图8-30所示。
图8-30 选择一次可以显示的次数
11 单击“确定”按钮,回到编辑页面,会发现先前所选取的区域左上角出现了一个“重复”的灰色标签,这表示已经完成设置。
12 单击“确定”按钮回到编辑页面,当记录集超过一页,就必须要有“上一页”、“下一页”等按钮或文字,让访问者可以实现翻页的功能,这就是“记录集导航条”的功能。“记录集导航条”按钮位于“插入”工具栏的“数据”中,因此将“插入”工具栏由“常用”切换成“数据”类型,单击“记录集分页”工具按钮,如图8-31所示。
图8-31 选择“记录集导航条”
13 在打开的“记录集导航条”对话框中,选取要导航条的记录集并设置导航条的显示方式为“文本”,然后单击“确定”按钮回到编辑页面,会发现页面出现该记录集的导航条,如图8-32所示。
图8-32 添加“记录集导航条”
13 在“讨论主题”上加入“转到详细页面”的设置。用来显示特定主题的详细内容的相关的回复。选取编辑页面中的rs_bbs.bbs_Title字段,如图8-33所示。
图8-33 选择字段
14 在“属性”面板中找到建立链接的部分,并单击“浏览文件”图标,在弹出的对话框中选择用来显示详细记录信息的页面content.php,设置如图8-34所示。
图8-34 选择链接文件
15 单击“参数”按钮,设置超级链接要附带的URL参数的名称与值。将参数名称命名为bbs_id,如图8-35所示。
图8-35 “参数”对话框
16 单击“确定”按钮完成“转到详细页面”的设置,在index.php页面中有两个连接按钮“管理”与“发表话题”,设定其链接网页如表8-6所示。
表8-6 按钮链接的页面表
8.3.2 搜索主题功能
在index.php这个页面上加入搜索的功能,该页面上的功能设计如图8-36所示。
图8-36 搜索主题设计
制作步骤如下:
01 将查询主题的文本框命名为keyword,设置如图8-37所示。
图8-37 设置keyword文本域名
02 将之前建立的记录集rs_bbs作一些更改,打开记录集,并进入“高级”设定对话框。在原有的SQL语法中GROUP BY bbs_Main.bbs_ID前面,加入一段查询功能的语法:
SQL语句将变成如图8-38所示。
图8-38 修改SQL语句
03 再切换到代码设计窗口。在rs_bbs记录集绑定的代码中加入代码:
如图8-39所示,完成设置。
图8-39 加入代码
04 以上的设置完成后,index.php系统主页面就有查询功能了,可以按下F12键至浏览器测试一下是否能正确的查询并显示。index.php页面会显示所有网站中的讨论主题,如图8-40所示。
图8-40 主页面浏览效果图
共有条评论 网友评论