资源描述
实训七 站内新闻系统之后台管理
一、 实训目的
1. 能正确设计新闻系统功能的数据库和文件结构。
2. 能正确设计新闻系统的新闻分类管理。
3. 能正确设计新闻系统的新闻内容管理。
4. 能正确设计新闻系统的新闻显示。
二、 实训任务
任务1:设计新闻系统功能的数据库和文件结构
任务2:设计新闻系统的新闻分类管理
任务3:设计新闻系统的新闻内容管理
任务4:设计新闻系统的新闻显示
三、 实训步骤
新闻系统又称信息发布系统,它是普通网站的核心系统。在合理规划公司动态网站的基础上,我们已经设计实现了用户系统和公告系统,本项目的任务是能够在ASP环境下编程实现新闻系统的各项功能,包括新闻系统的数据库、新闻分类管理、新闻内容管理、新闻的显示等功能。
(一)计新闻系统功能的数据库和文件结构
任务1操作方法:
用Access打开前面我们所创建的数据库,创建新数据表,数据表的详细设计,包括字段、类型、长度、属性、说明等如表1和表2所示。
表1新闻分类数据表tbl_newsclass
字段名
字段类型
宽度
字段属性
说明
nc_id
自动编号
长整型
主键
新闻分类ID
nc_upid
数字
长整型
不允许空
nc_upid字段用来判断是一级分类还是二级分类如果这些字段值为0则代表顶级分类,否则就是二级分类,是属于某个ID号等于这条记录的nc_upid值的那个分类的二级分类
nc_name
文本
50
不允许空
新闻分类名称
nc_sort
数字
长整型
不允许空
新闻分类排序
表2新闻内容数据表tbl_news
字段名
字段类型
宽度
字段属性
说明
n_id
自动编号
长整型
主键
新闻ID
n_ncid
数字
长整型
不允许空
新闻分类ID
n_title
文本
50
不允许空
新闻标题
n_content
备注
不允许空
新闻内容
n_image
文本
50
新闻图片
n_intime
日期/时间
新闻加入日期
n_top
是/否
新闻是否置顶
n_show
数字
长整型
新闻浏览次数
设计出文件结构系统如表3所示:
表3新闻系统文件结构表
前台页面文件
后台页面文件
News.asp
新闻列表
admin_newsclass
新闻分类管理
Shownews.asp
新闻内容
admin_news_act
Act处理页面
admin_news_add
增加新闻
admin_news_show
新闻显示
admin_news_modify
新闻修改
(二)设计新闻系统的新闻分类管理
任务2的操作方法:
1.建立后台新闻分类管理文件,取名为admin_newsclass.asp
页面设计成如图1所示。
显示两级分类表
增加新闻分类表单
修改分类名表单
新闻分类排序
图1 新闻分类管理页面
2)页面表单及功能代码的设计。
按sort字段正排序
搜索一级分类
一级分类显示代码
首先显示nc_upid=0的一级分类,按sort字段正排序。
在一级分类显示的循环体内,查询属于这个一级分类的二级分类,也就是Upid值等于这个分类id值的分类。然后循环输出二级分类字段名。
Upid字段属于它
二级分类显示代码
设计思想:
新闻分类管理中二级分类字段名的显示和管理采用一个大循环内套一个小循环,来分别显示一级分类字段名和二级分类字段名。具体设计思路体现在如下的代码分析图8.6中。
关闭、结束
一级分类排序
显示二级分类
显示一级分类
下面是修改分类代码:
传递参数update 和id的 值
判断参数act的值是否为 modify
我们判断,如果参数值act的值 等于modify。说明管理员选择的是新闻分类的修改链接。然后查询这条记录,将结果显示在分类名输入框内。这个表单提交的时候带有update参数和id参数,以对选择修改的分类名进行更新。
下面是添加新闻分类的表单。
显示所有的一级分类在下框中
查询一级分类
添加一级分类
一级分类下拉显示框
二级分类显示代码分析
2.设计后台新闻分类管理页面的处理代码 管理= 增删改
在admin_newsclass.asp中,前面我们已经完成了新闻分类的各种界面的基本功能。现在开始处理各种功能。在页面头部增加处理代码。
打开表
添加分类
对各字段附值
查出记录
修改分类名
提交更改
修改分类排序和修改分类名一样,只是需要修改的是sort字段。
设计思想:
删除分类的操作要稍微复杂点。为了防止数据完整性被破坏,所以要进行一些判断。比如说,当一个一级分类下,还存在着二级分类,那么就不能直接删除它。如果删除它,那么二级分类的upid值就失效了。再比如,一个分类下有新闻,那么如果删除了这个分类,这些新闻就没有所属分类了。
所以在删除分类时先查询记录,判断它是一个顶级分类还是一个二级分类。把他们分开处理。
如果是一个顶级分类,就要查询一下这个分类下面有没有二级分类。
这里采用一个count函数来统计返回的记录条数。如果有返回记录条数大于零条。说明在这个一级分类下存在着二级分类。则提示对话框“不能删除”。如果返回记录等于零,则删除这个一级分类。
如果是一个二级分类,就要在新闻表tbl_news中查询一下有没有属于这个分类的新闻。条件是新闻表中新闻的分类ID(nc_ncid)是否等于这个二级分类的ID值。 如果发现有新闻存在,提示对话框“不能删除”,否则使用delete功能删除它。
(三)设计新闻系统的新闻内容管理
也就是设计后台新闻内容管理页面 管理= 增删改
1. 建立后台增加新闻内容管理文件,取名为admin_news_add.asp
2. 页面设计成如图所示,用来添加新闻。
首先把表单信息提交到act页面进行处理,使用act=add来标识是添加记录。在管理员选择要对哪个分类进行新闻的添加时,我们只允许将新闻添加到二级分类上。所以这里先查出一级分类,然后在一级分类的循环体内查询每个一级分类所属的二级分类。循环输出option标签,这样可以显示每个二级分类。显示方式为: 一级分类名+“—>”+二级分类名。
提交到act页面处理
查询一级分类
查询二级分类
显示一级分类名+“—>”+二级分类名
一级分类显示代码
3.设计新闻内容act处理页面文件 admin_news_act.asp。
因为涉及到文件操作,所以这里也要建立fso对象。这个处理页面和友情链接的处理页面结构、功能基本一样,也包括处理数据的增、删、改。只有设计文件的增加和修改时候,才引用这个表单处理文件。
建立fso对象
页面表单设计代码和功能。
引用的表单处理文件
文件增改时才引用
接下来,处理添加新闻内容,代码跟友情链接里的基本一样:先写“添写一条新闻”的代码,再写一条代码用来将管理员所选择的所属二级分类的ID值写入记录,再写一条代码用来将上传图片的文件名写到数据库的IMAGE字段中(如果没有上传图片的话,这个FORMDATA.ITEM对象的IMAGE中的数据是空的,也就是没有图片)。然后是处理错误,如果发现错误的话要提示,并且将已经上传的图片删掉(也就是写这么两条代码)。
(四)设计新闻系统的新闻显示
1) 新闻显示页面admin_news_show.asp如下图所示.
新闻分类选择框
新闻显示列表
下边是用来显示新闻列表的表格,其中管理列中设置了置顶、取消置顶、修改、删除的功能,上边是一个下拉框用来让管理员选择操作哪个分类的新闻,管理员选择哪个分类我们就按照哪个分类的新闻内容把它显示出来。
先来设计分类选择的表单,参考代码:
加参数C处理分页
2) 如何处理新闻的分页显示:
这里默认是所有分类,值为0,接下来这段代码跟之前添加新闻中的下拉框的代码一样,它的值是二级分类的ID号为这个下拉框架的ONCHANGE的时间代码,当下拉框的值发生改变时,也就是管理员选择了某种分类时,执行这段代码,跳转网页到本页加上参数C,值是选中二级分类的ID值代表选择哪个二级分类。
我们到网页的头部来处理这个参数,因为新闻分类列表要使用分页显示,所以先添加一段代码(设置每页显示4件商品,处理配置参数值,使用一个SESSION变量来记录管理员选择的二级分类ID值,以免在翻页的过程中丢失这个参数值,且显示全部新闻和发现有参数C则保存它的值)。
新闻显示代码:
是否置顶、删除是提交到act页面进行处理:
分页函数的引用:
2)新闻修改页面admin_news_modify 如下图 所示.
编辑/删除新闻信息页面显示效果如图:
新闻修改
选择一条新闻信息,然后单击【修改】按钮,转到该条新闻的编辑页面,并初始化表单域内容。编辑页面效果如图:
在图 中修改新闻信息,完成后,单击【提交】按钮,将修改后的信息保存到数据库中。
参考代码:
四、 实训总结与分析:
对照实例认真分析产生差异的原因,并说明在实训过程中如何解决,所遇到的技术或知识上难题,同时得到了什么样的经验,并在以后的过程中加以注意。还有什么问题是你不能解决的。本人认为有所心得和有必要记载下来的内容。
展开阅读全文