版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP+MySQL开发实例教程ISBN号:978-7-5083-7194-8作者:毛书朋聂庆鹏653工程指定教材第9章PHP+MySQL多模块新闻管理系统开发9.1系统分析9.2实施步骤9.3系统优化9.4本章小结9.5练习题9.1系统分析PHP+MYSQL的组合,可以开发几乎所有流行的Web应用系统。如留言本、新闻或文章管理系统、各类信息发布系统、投票程序、论坛等等。而这些系统中,新闻发布系统具有很强的代表性。一个新闻发布系统几乎包含了PHP+MYSQL编程的方方面面,可以说,如果能够掌握PHP+MYSQL新闻发布系统的开发技术,那么开发其他应用系统的也不会有太大的难题。9.1系统分析任何系统的设计都必须从用户实际的操作也就是用户的需求分析。我们的新闻发布系统业不例外。新闻发布系统的主要目的就是管理用户通过管理操作(如发布和修改新闻)让可以浏览器网站的用户看到相关的新闻信息。从这一点出发,我们就不难得出本系统主要面对的是两大类用户:管理用户(新闻发布与管理用户)和浏览者。9.1系统分析管理用户对新闻的管理应该主要包括新闻模块的添加与管理、新闻内容的添加与管理,而且管理用户的操作界面不是所有的用户都可以进的,也就是说必须有管理权限的用户才能进入。我们一般称管理用户进入管理的平台为后台。浏览者的权限就是浏览管理用户发布的新闻内容,并可以进行检索以方便地找到自己想要看到的内容。我们一般称浏览者浏览或查阅信息的平台为前台。9.2实施步骤9.2.1系统功能设计后台(管理用户功能):新闻模块添加、新闻模块修改、新闻添加、新闻修改、密码更改。前台(浏览用户功能):浏览模块、浏览新闻、检索新闻。系统功能可以用图示表示如图9-1。9.2实施步骤9.2.1系统功能设计9.2实施步骤9.2.2数据库与表设计本新闻发布系统的数据库名为“news_manage”,共含3个数据表,这3个数据表之间的关系简单描述如图9-2。9.2实施步骤9.2实施步骤其详细的字段设计如下:一、manage_user_info(管理用户信息数据表)
9.2实施步骤二、module_info(模块信息数据表)9.2实施步骤三、news_info(新闻信息数据表)9.2实施步骤9.2.3文件结构设计(详见教材)9.2.4算法与代码实现
创建数据库有两种方法:(1)从phpmyadmin的可视化操作界面创建数据库、数据表。(2)在dos命令提示符下创建数据库数据表。9.2实施步骤有关代码的具体实现其实是没有原则上的先后关系,我们这里为了能够较为清楚和方便地说明本系统的开发过程,我们按照图9-3的流程进行开发和讲解:
9.2实施步骤下面我们就一步一步地来实现。
1)用户登录页此处我们借用第8章中的land.html的相关代码。具体代码见step1文件夹中的lgoin.php。该文件中的PHP代码的程序流程图如图9-4。(参见教材)9.2实施步骤2)后台管理页后台登陆页,也就是后台管理的首页,详细代码见manage文件夹下的index.php,其流程图如图9-5。3)新闻模块添加页新闻模块添加页具体代码见manage文件夹下的module_add.php,其程序流程图为图9-6。9.2实施步骤4)新闻模块修改页新闻模块修改页所显示的就是所有已经添加的新闻模块的列表,详细代码见manage文件夹下的module_list.php,这个页面是比较简单的,就是从数据库中读出所有已添加的新闻模块信息,并以分页的形式给出列表。在这个列表有对任一新闻模块“删除”和“修改”的链接,当我们点击“删除”链接时就会删除其对应的新闻模块信息,当我们点击“修改”时就会进入新闻模块修改页,详细代码见manage文件夹下的module_bj.php,其程序流程图见图9-7。9.2实施步骤5)新闻添加页新闻模块添加页具体代码见manage文件加下的news_add.php,其程序流程图为图9-8。值得注意的是,在添加新闻时需要选择添加到那个新闻模块,我们这里是使用下拉菜单实现的,相关的代码如下:
1:<selectname="module_id"> 2:<optionvalue=""selected="selected">请选择...</option> 3:<?php 4://从数据库中读出所有的模块信息,并用下拉列表的形式供管理用户选择
5: $query="select*frommodule_infoorderbyshow_order"; 6: $result=mysql_query($query,$id);
7: while($module=mysql_fetch_array($result,MYSQL_ASSOC)){
8: echo"<optionvalue=".$module["id"].">".$module["module_name"]."</option>";
9: } 10: ?> 11: </select>
上面给出的程序中的1、2、11行是一个下拉表单的HTML代码。3-10行为PHP代码,其中7、8、9行是循环输出下拉表单项,表单项的内容为5、6行从数据库中读出的数据。9.2实施步骤6)新闻修改页新闻修改页所显示的就是所有已经添加的新闻的列表,详细代码见manage文件夹下的news_list.php,这个页面是比较简单的,就是从数据库中读出所有已添加的新闻模块信息,并以分页的形式给出列表。因为在有些时候我们只想查看某个模块内的所有新闻,所以我们在本页的顶部给出了不同模块的链接,点击不同的模块链接,其下所显示的新闻列表就是该模块内的所有新闻,并以分页的形式列出。在这个列表有对任一新闻都有“删除”和“修改”的链接,当我们点击“删除”链接时就会删除其对应的新闻信息,当我们点击“修改”时就会进入新闻模块修改页,详细代码见manage文件夹下的news_bj.php,其程序流程见图9-9。9.2实施步骤7)密码修改页密码修改页具体代码见manage文件加下的key_xg.php,其程序流程图为图9-10。8)安全退出其程序的详细代码如下:
1:<?php 2:$_SESSION["manage_name"]=""; 3:header("location:../login.php");4:?>截止到现在我们已经把后台管理程序制作完毕,下面我们就要来制作前台显示页面。9.2实施步骤9)用户浏览首页用户浏览首页也是浏览用户进入本站的第一页,本页中需要给出的是所有的新闻某块和每个模块中的最新添加的若干新闻。实现的具体方法是从module_info数据表中查询出所有的模块,并循环输出;在循环输出每一个模块中,从news_info数据表中查询出属于本模块最后添加的前5条新闻,具体的代码详见step1文件夹下的index.php。10)某模块新闻列表页本页使用分页的方法和添加时间倒序的方式列出某一模块所有的新闻。其实现的具体方法是接收传递到本页的module_id,从news_info数据表中查询出其字段等于接收过来的module_id的所有记录,并采用分页的形式输出。就每一条新闻显示其标题、浏览次数、添加时间信息,我们点击标题,就可以进入“新闻内容页”。11)新闻内容页9.2实施步骤本页显示具体某条新闻的具体信息,如标题、浏览次数、添加时间、新闻具体内容等。本页实现的具体方法是接收传递到本页的news_id,更新news_info数据表中id等于news_id的纪录的times为times+1,再从news_info数据表中查询出id等于news_id的记录并输出其标题、浏览次数、添加时间、具体内容等信息。12)新闻检索页本页显示符合传递到本页的检索关键字、检索范围的所有记录的列表。其实现的具体方法是,接收传递到本的检索关键字key和检索范围module_id,根据key和module_id的值构造SQL语句,再执行SQL语句,从news_info数据表中查询出相关的记录,以列表的形式输出,输出的方式和莫模块新闻列表页的方式一样。9.2.5运行测试(参见教材)9.3系统优化1、文件结构的优化。
2、数据库服务器连接类库文件的编写对于多次复用的代码,我们也编写了一个类库文件myfun.php,这个类库中包含的就是我们自己定义的一些函数。
9.4本章小结本章中我们通过一个多模块新闻发布系统的开发实例,详细介绍了PHP+MYSQL数据库开发的基本过程和基本思路。为了方便大家理解系统的开发过程,我们通过初步程序开发、代码优化、界面美化三个步骤由简到繁、逐步细化最终实现我们想要的效果。读者通过本章的学习,应当深入领会PHP+MYSQL编程的基本思路,掌握数据库编程中常见问题的解决方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45086.1-2024车载定位系统技术要求及试验方法第1部分:卫星定位
- 2025农村公益性服务合同书
- 展览展示装修合同范例
- 物流门头定制合同范例
- 农村合资建房合同范例
- 承包开挖石方合同范例
- 文案合同范例
- 合同范例公示写
- 水电工合同范例
- 市场卫生保洁合同范例
- 天津市南开区2023-2024学年四年级上学期期末语文试卷
- 数据中心智能运维体系建设
- 2023年计划订单专员年度总结及下一年规划
- 体质测试成绩表(自动统计数据)(小学、初中)
- 2022年全国垃圾分类知识竞赛试题库(附含答案与解析)
- 2024版医院手术安全管理学习培训课件
- 材料标准目录
- 脑卒中后吞咽障碍患者进食护理(2023年中华护理学会团体标准)
- 护士执业注册申请表 新
- 妊娠期高血压疾病诊治指南(2022版)解读
- 公章证照使用登记表
评论
0/150
提交评论