校园新闻管理系统的设计与实现结构设计.doc_第1页
校园新闻管理系统的设计与实现结构设计.doc_第2页
校园新闻管理系统的设计与实现结构设计.doc_第3页
校园新闻管理系统的设计与实现结构设计.doc_第4页
校园新闻管理系统的设计与实现结构设计.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

52 校园新闻管理系统的设计与实现结构设计一、概述1.1设计目的:(1)基本掌握BS结构程序设计的基本思路和方法; (2)达到熟练掌握PHP语言的基本知识和技能;(3)熟练掌握MYSQL数据存储技术的基本知识和方法;(4)能够利用所学的基本知识和技能,解决简单的程序设计问题二、设计要求 2.1基本要求:(1)要求利用WAMP或LAMP环境平台来设计与实现本系统; (2)网站规划与设计;(3)进行基本的界面设计,能够实现友好的交互;(4)具有清晰的程序流程图和数据结构的详细定义;(5)熟练掌握PHP语言与MYSQL数据库的应用。2.2创新要求:在基本要求达到后,可在HTML5技术、AJAX技术、JavaScript技术以及JQuery技术等方面采取一些创新性运用。三、信息描述新闻类别信息(编号,名称)管理员信息(编号,名称,密码)新闻信息(编号,标题,内容,发布时间,所属类别,发布人,浏览次数,附件)评论信息(编号,时间,发表人IP,所属新闻,是否审核)其他信息(根据需求自己添加)四、功能描述该系统的目的是设计一个B/S(浏览器/服务器)交互式的校园新闻管理系统网站。要求网站不要脱离数据库而独立存在,完成前台Web设计和后台数据库的设计,要体现出交互性,其中系统前台用户可以完成的功能是:浏览新闻;查看新闻评论;对新闻发表评论;后台管理员可以完成的功能是管理员管理;新闻类别管理;新闻管理;评论管理等。五、需求分析5.1新闻发布系统前台功能结构图新闻发布系统前台功能结构前台登录新闻列表分页显示新闻信息模糊查询新闻详细信息显示发布新闻评论5.2新闻发布系统后台功能结构图新闻发布系统后台功能结构新闻类别管理后台用户注销新闻信息管理评论管理类别添加类别编辑类别删除新闻添加新闻编辑新闻删除评论审核评论删除5.3流程图新闻发布系统顶层数据流程图新闻发布系统游客管理员发表评论登录请求新闻信息查看新闻及新闻类别信息维护评论信息维护注销请求新闻发布系统中层数据流程图用户管理评论管理新闻信息查询新闻信息维护新闻类别管理游客管理员用户users评论review新闻类别category新闻news注销请求新闻类别信息新闻信息新闻类别信息新闻信息新闻信息登录请求发表评论查看评论评论信息用户信息评论信息类别名称新闻信息管理底层数据流程图新闻信息查询查看新闻详细信息删除指定新闻添加新闻修改指定新闻reviewnews游客管理员新闻信息保存category某一页的新闻列表框显示某一页的新闻列表信息所有评论信息息新闻详细信息息news_id新闻详细信息息新闻详细信息息news_idnews_idnews_id新闻详细信息及所有评论新闻详细信息及所有评论news_id及其他修改信息news_id及其他修改信息category_id+category_name6、 数据库设计6.1E-R图:6.2根据实际需要设计数据库创建表,如图:1.新建news表,记录发布的新闻信息2. 新建USER表,记录用户名和密码:3. 新建CATEGORY表,并添加记录,该表为可选择发布的新闻类型表:4. 新建review表,用来记录新闻评价的信息:七、实验步骤:新闻发布系统实施设计界面后,在将系统移交给用户的一系列活动叫做系统实施。新闻发布系统涉及新闻浏览,评价浏览,新闻发布等功能.1.文件组织结构:在“c:wampwww”目录下创建”111”目录,在“111“目录下创建 ,如图所示:2.数据库的实施在“c:wampwwwn111”目录下创建news.sql脚本文件,news.sql脚本文件首先设置存储引擎为InnoDB,然后设置字符集为gbk,接着创建news数据库,并在数据库中创建category表news表review表 user表。SQL语句如下:set table_type=InnoDB;show variables like table_type;set character_set_client=gbk;set character_set_connection=gbk;set character_set_database=gbk;set character_set_results=gbk;set character_set_server=gbk;set collation_connection=gbk_chinese_ci;set collation_database=gbk_chinese_ci;set collation_server=gbk_chinese_ci;show variables like character%;show variables like collation%;create database news;use news;create table category(category_id int auto_increment primary key,name char(20) not null) create table users(user_id int auto_increment primary key,name char(20) not null,password char(32) create table news(news_id int auto_increment primary key,user_id int,category_id int,title char(100) not null,publish_time datetime,content text,clicked int,attachment char(100),constraint FK_news_user foreign key (user_id) references users(user_id),constraint FK_news_category foreign key (category_id) references category(category_id) create table review(review_id int auto_increment primary key,news_id int,content text,publish_time datetime,state char(10),ip char(15),constraint FK_review_news foreign key (news_id) references news(news_id)启动Navicat Lite for MySQL软件本地连接数据库:点击连接点击确定在右边空白处右击鼠标,文件:数据库news文件的地址-点击开始刷新完成数据库的连接,在各个表中输入相应的信息,保存SQL语句。7.1代码设计新闻管理和评价管理功能的实施新闻管理(新闻发布,新闻浏览,修改新闻等)和评价管理(添加评价,评价浏览,删除评价,审查)的核心。(1) 编制MYSQL服务器连接函数和上传文件上传函数。在“c:wampwwwnewsfunctions”目录下创建database.php文件程序用于实现MYSQL服务器连接的开启和关闭。database.php代码如下:(2) 向数据库中添加测试数据库的程序news_init.php。在“c:wampwwwnews”目录下创建news_init.php文件程序负责向向用户表user中添加一个管理员用户,向新闻类别表中添加 news_init.php代码如下:打开浏览器,输入http:/localhost/111/init.php 进行数据库初始化。(3) 创建新闻添加news_add.php在“c:wampwwwnews”目录下创建news_add.php文件,该文件中包括添加form表单为浏览器用户提供输入数据界面。news_add.php代码如下:标题:内容:类别:option value=附件:(4)创建文件管理页面file_system.php在C:wampwwwnewsfunctions目录下创建file_system.php文件,file_system.php文件中提供了实现文件上传功能uploads()函数和下载功能download()函数。file_system.php代码如下:文件管理页面(4) 创建新闻信息保存页面news_save.php在C:wampwwwnews目录下创建news_save.php文件,该程序实现的功能依次为:登录后访问,采集新闻的标题,内容,设置新闻的发布时间为WEB服务器时间,设置新闻的浏览次数为0 ,设置新闻的发布者ID为1,上传新闻的附件到uploads目录,附件上传成功后将新闻信息添加到数据库表中,将页面重定向到新闻标题列表页面news_list.php,并向news_list.php页面传递附件上传消息。news_save.php代码如下:新闻信息保存页面(5) 创建新闻标题列表显示页面news_list.php在C:wampwwwnews目录下创建news_list.php文件,该程序实现的功能依次为:显示上传的状态信息,提供一个新闻模糊查询的form表单,按照新闻发布时间降序显示新闻的标题以及编辑和删除超链接,当点击新闻标题的超链接时进入新闻的详细信息页面news_detail.php,查看新闻详细信息,当点击编辑超链接时进入新闻编辑界面news_edit.php,实现的新闻的编辑,当点击删除超链接时进入新闻删除页面news_delete.php,实现对新闻的删除。实现分页。news_list.php代码如下:新闻浏览?phpinclude_once(functions/database.php);include_once(functions/page.php);include_once(functions/is_login.php);session_start();if(isset($_GETmessage)/echo $_GETmessage.;/构造查询所有新闻的sql语句$search_sql = select * from news order by news_id desc;/进行模糊查询,取得模糊查询的关键字keyword$keyword = ;if(isset($_GETkeyword)$keyword = $_GETkeyword;$search_sql = select * from news where title like %$keyword% or content like %$keyword% order by news_id desc;?请输入关键字:input name=keyword type=text value= /a href=news_detail.php?keyword=&news_id= a href=news_edit.php?news_id=编辑 a href=news_delete.php?news_id= onclick=return confirm(确定删除?);删除 (6) 创建新闻信息的修改页面news_edit.php。在C:wampwwwnews目录下创建news edit.php文件,该程序的功能是:当点击新闻标题列表页面news_list.php中的 编辑 超链接时,news_edit.php页面从数据库中查询指定新闻的详细信息并显示在编辑页面news_edit.php中,新闻内容进入编辑状态。news_edit.php代码如下:新闻编辑页面标题:input type=text size=68 name=title value=/内容:类别: option value= input type=hidden name=news_id value= / input type=button value=取消 onclick=window.history.back(); (7) 创建新闻信息的修改页面news_update.php。在C:wampwwwnews目录下创建news_update.php,该文件的功能:单机news_edit.php页面 修改 按钮时,修改指定新闻的信息,然后将页面重定向到news_update.php页面,并向news_list.php页面传递“新闻信息修改成功!”信息。news_update.php代码如下:无标题文档(8) 创建新闻信息的删除页面news_delete.php在C:wampwwwnews目录下创建news_delete.php,该页面实现的功能:登录后才可访问,单击news_list.php页面中的 删除 超链接时,从数据库中删除指定新闻然后重定向新闻标题列表页面news_list.php,并向news_list.php页面传递“新闻及相关评论信息删除成功!”消息。news_delete.php代码如下:新闻删除页面(10)创建查看新闻详细信息页面news_detail.php打开新闻标题列表显示news_list.php后,单击新闻标题的超链接后可以查看该新闻的详细信息。在C:wampwwwnews目录下创建news_detail.php,该页面实现的功能:news_detail代码如下:?phpinclude_once(functions/database.php);$news_id = $_GETnews_id;/构造3条sql语句$sql_news_update = update news set clicked=clicked+1 where news_id=$news_id;$sql_news_detail = select * from news where news_id = $news_id;$sql_review_query = select * from review where news_id = $news_id and state = ok;/执行3条sql语句get_connection();mysql_query($sql_news_update);$result_news = mysql_query($sql_news_detail);$result_review = mysql_query($sql_review_query);/取出结果集中的新闻条数$count_news = mysql_num_rows($result_news);/取出结果集中该新闻“已审核”的评论条数$count_review = mysql_num_rows($result_review);if($count_news=0)echo 该新闻不存在或已被删除!;exit;/根据新闻信息中的user_id查询对应的用户信息$news = mysql_fetch_array($result_news);$user_id = $newsuser_id;$sql_user = select * from users where user_id=$user_id;$result_user = mysql_query($sql_user);$user = mysql_fetch_array($result_user);/根据新闻信息中的category_id查询对应的新闻类别信息$category_id = $newscategory_id;$sql_category = select * from category where category_id=$category_id;$result_category = mysql_query($sql_category);$category = mysql_fetch_array($result_category);close_connection();mysql_free_result($result_user);mysql_free_result($result_category);mysql_free_result($result_news);mysql_free_result($result_review);/关键字加粗斜体显示$title = $newstitle;$content = $newscontent;if(isset($_GETkeyword)$ke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论