php程序设计简明教程(DOC格式)-第17部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
Query OK; 1 row affected (0。05 sec)
select * from abc;
PHP 讲义 第 77 页 共 90 页
…………………………………………………………Page 78……………………………………………………………
(下面为MySQL 服务器返回的结果表明,已经成功地在abc 表中插入了三行数据)
+………………+………………+………………+
| a | b | c |
+………………+………………+………………+
| a1 | b1 | c1 |
| a2 | b2 | c2 |
| a3 | b3 | c3 |
+………………+………………+………………+
3 rows in set (0。00 sec)
(2 )准备示例程序abc。php,存放在发布文档目录d:www 下,其内容为:
a 列数据b 列数据c 列数据
程序重点说明
本程序中的while 循环部分:
测试步骤
在浏览器地址栏输入:http://你的机器 IP 地址/mysqltest。php ,回车;显示如下图所示,则使用 PHP 从 MySQL
数据库中成功取出了数据,表明PHP 与MySQL 能够协同工作了。
2。使用phpMyAdmin
安装好phpMyAdmin (若没安装;具体安装方法见第二节)
通过phpMyAdmin :
删除数据库test
建立上面的数据库test
在数据库test 中建立上面所述结构的表abc
在表abc 中插入上面所述的数据
运行上面的PHP 程序,查看结果
PHP 讲义 第 79 页 共 90 页
…………………………………………………………Page 80……………………………………………………………
第五章 Web 软件开发
本章以一个新闻发布系统的实现为实例,介绍使用PHP,进行Web 软件开发的一般过程和方法。
本章内容也是前四章内容的综合运用。
第一节 系统分析和系统设计
1。用户需求
经过对用户的调查,并与用户协商,一致确定最终的需求,表述如下:
系统名称:ABC 新闻发布系统
系统功能:
(1)前台功能——最终客户,用于浏览新闻。
1)浏览最新新闻标题:显示10 条最新新闻的标题;只列出允许发布到前台的新闻标题。
发布:允许让最终客户在前台看到。
2 )浏览更多新闻标题:每页显示25 条新闻标题,总数超过25 条新闻时,分页显示
3 )浏览新闻全文:单击 1)、2 )中新闻标题后可查看到新闻的具体内容:标题,作者,发布时间(年月日时分
秒),内容
(2 )后台管理——新闻管理人员,用于管理新闻
1)人员管理:
人员——使用本后台进行新闻管理的人。
人员信息——帐号,密码,姓名,联系方式,权限
其中,权限:登录系统,增加人员,修改人员,添加新稿,修改稿件,审核稿件,业务查询。
功能:
①人员验证:
任何人员进入后台管理系统,必须经过验证,验证的凭据是帐号和密码,必须与系统中的用户名与密码一致。
②人员信息的增加
③人员信息的修改
2 )稿件管理:
编辑稿件:
稿件录入:录入新闻稿件信息。新增稿件录完成,提交至服务器,等待审核通过后发布。
稿件修改:对未发布或暂存的新闻稿件,可修改。修改稿提交前,必须再次检查是否已经被发布,若已发布,
则服务器拒绝接受提交。
稿件删除:对未发布的稿件,如暂存稿件,可进行删除操作。
审核稿件:对提交待发的新闻稿件,决定发布还是退回。
说明:稿件的状态,有:提交待发,暂存,发布,退回4 种。
3 )业务记录
8 种业务操作:登录系统,增加人员,修改人员,添加新稿,修改稿件,审核稿件,业务查询,退出后台,这均
要自动记录到系统中去,记录的信息包括:
姓名,操作机器,操作时间,业务操作,操作稿件
4 )业务查询
根据用户输入的查询信息,查询出符合条件的业务记录。
PHP 讲义 第 80 页 共 90 页
…………………………………………………………Page 81……………………………………………………………
2。系统分析与设计
分析以上用户需求,设计形成便于技术人员理解的专业技术描述。
本例主要从数据和功能两个方面来分析和设计一个系统。
从技术人员的角度来说,就是从数据库和程序两个方面,来分析和设计一个系统。
(1)数据库的分析与设计
1)分析用户数据,形成概念设计,转化为关系模式,从而完成逻辑设计
方法:采用实体…联系(E…R )方法
两个基本实体:新闻和人员
分别转化为关系
关系一:新闻(标题,时间,作者,状态,内容)
关系二:人员(帐号,密码,姓名,联系方式,权限)
关系三:操作记录(姓名,操作机器,操作时间,操作类型,操作稿件)
以上三个关系,是用户需求的原型表述,还不够规范,不便于直接应用于系统的设计。
为此,下面对上面的关系,根据规范化理论,采用模式分解方法,进行规范化:
关系一:新闻(标题,时间,作者,状态,内容)
其中,状态属性值∈{提交待发,暂存,发布,退回}
规范化后,分解为两个关系:
①新闻(新闻代码,标题,时间,人员代码,状态代码,内容)
②新闻状态(状态代码,状态名称)
状态代码 状态名称
1 提交待发
2 暂存
3 发布
4 退回
关系二:人员(帐号,密码,姓名,联系方式,权限)
其中,权限属性值∈{登录,增加人员,修改人员,添加稿件,修改稿件,审核稿件}
规范化后,分解为两个关系:
③权限(权限代码,权限名称)
权限代码 权限名称
1 登录系统
2 增加人员
3 修改人员
4 添加稿件
5 修改稿件
6 审核稿件
7 业务查询
④人员(人员代码,帐号,密码,姓名,联系方式,权限代码串)
其中,权限代码串是权限代码的组合,表示权限组合。组合中,每种权限代码只出现一次。
关系三:操作记录(姓名,操作机器,操作时间,操作类型,操作稿件)
其中,每次仅限一种操作,这样,操作类型信息可用权限信息来代替,故关系规范化后,分解为两个关系:
⑤操作记录(记录代码,人员代码,操作机器IP,操作时间,新闻代码,权限代码)
③权限(权限代码,权限名称)
上述关系①②③④⑤之间的联系,如下图所示:
PHP 讲义 第 81 页 共 90 页
…………………………………………………………Page 82……………………………………………………………
上图采用Microsoft Viso 画成。
箭头指向表示外键(FK:Foreign Key )参照(参考解释的意思)。
PK :Primary Key,主键。
2 )数据库的物理设计与实现
包括字段,表,数据库名称,用户和权限等内容的方案设计。
命名约定:字段,表,数据库的命名采用汉语拼音首字母。
方案设计的依据:概念设计和逻辑设计的成果:上述5 个关系模式。
方案设计的步骤:自底向上,具体如下:
第一步:字段设计——确定所有字段的名称、类型和宽度。
第二步:表设计——确定数据表的名称,主键等。
第三步:确定数据库名称。
第四步:确定用户和权限方案。
第五步:实现——在具体的DBMS 中实现上面四步的设计方案。
下面逐一进行:
n 第一步:字段设计
方法:
确定哪些属性参加字段设计:把所有关系中的属性集中列表,重复的字段只列一次,表中最终的这些属性需要设
计其相应的字段。把它们集中到一起进行设计的目的是:避免重复设计。
字段的命名:将每个属性转化成字段。根据命名约定确定字段的名称,
字段的类型和宽度:根据实际需要确定类型和宽度,在满足应用需求的前提下,尽量减少存储宽度。
字段设计结果:字段名称、类型和宽度
序号 属性名 字段名 类型 宽度(西文字符)
1 新闻代码 xwdm 整型,无符号,自动编号 9
2 标题 bt 变长字符型 50
3 时间 sj 日期时间型 (DBMS 自定)
4 人员代码 rydm 微整型,无符号,自动编号 2
5 状态代码 ztdm 微整型,无符号,自动编号 1
6 内容 nr 文本型 (DBMS 自定)
7 状态名称 ztmc 变长字符型 8
PHP 讲义 第 82 页 共 90 页
…………………………………………………………Page 83……………………………………………………………
8 帐号 zh 变长字符型 16
9 密码 mm 变长字符型 16
10 姓名 xm 变长字符型 8
11 联系方式 lxfs 变长字符型 20
12 权限代码串 qxdmc 变长字符型 7
13 权限代码 qxdm 微整型,无符号,自动编号 1
14 权限名称 qxmc 变长字符型 8
15 记录代码 jldm 整型,无符号,自动编号 9
16 操作机器IP czjq_ip 变长字符型 15
17 操作时间 czsj 日期时间型 (DBMS 自定)
n 第二步:表设计——确定数据表的名称,表中包括的字段,字段中的主键、外键等
方法:
确定表名:遵照命名约定,将关系名转化为表名。
确定表中的字段:根据原关系中的属性,选择相应的字段。
确定主键和外键。
表的设计
序号 关系名 表名 表中字段 主键 外键
1 新闻 xw xwdm;bt;sj;rydm;ztdm;nr xwdm rydm;ztdm
2 新闻状态 xwzt zt