《PHP+MySQL开发实战》是2013年清华大学出版社出版的图书,由软体开发技术联盟编写。本书从初学者的角度讲述使用PHP语言结合MySQL资料库进行程式开发应该掌握的各项技术。
基本介绍
- 作者软体开发技术联盟 编着
- ISBN9787302318958
- 定价89.80元
- 出版社清华大学出版社
- 出版时间2013-9-1
- 装帧平装
内容介绍
《PHP+MySQL开发实战》从初学者的角度讲述使用PHP语言结合MySQL资料库进行程式开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,强调“实战”效果。书中在介绍技术的提供实例,在各章的结尾安排有实战,通过实战来综合套用本章所讲解的知识,做到理论联繫实际;每篇的一章有一个综合实例,通过一个模组综合讲解本篇所讲解的知识内容;在本书的两章中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。
全书共分28章,主要内容包括初识PHP环境搭建、PHP语言基础、PHP流程控制语句、字元串操作与正则表达式、初探数组、日期和时间的管理、程式调试与异常处理、综合实例(一)——线上论坛、MySQL资料库、MySQL存储引擎与运算符、MySQL函式之选、MySQL基本操作、MySQL数据查询、综合实例(二)——留言本、MySQL存储过程和函式、MySQL事务、触发器、综合实例(三)——物流管理系统、ADODB类库、资料库编程技术、PDO资料库抽象层、综合实例(四)——BCTY365网上社区、Smarty模板技术、ThinkPHP框架、Zend Framework框架、综合实例(五)——电子商务网站、易查供求信息网和图书馆管理系统。所有知识都结合具体实例进行介绍,对涉及的程式代码给出了详细的注释,读者可以轻鬆领会PHP+MySQL程式开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下
黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程式、提供习题答案、赠送开发案例。
本书适合有志于从事软体开发的初学者、高校计算机相关专业学生和毕业生,也可作为软体开发人员的参考手册,或者高校的教学参考书。
作品目录
目 录
第1篇 新手入门
第1章 初识PHP环境搭建 2
视频讲解66分钟
1.1 PHP开发环境的搭建 3
1.1.1 在Windows下搭建PHP开发环境 3
1.1.2 在Linux下搭建PHP开发环境 3
1.2 Apache伺服器的安装和配置 3
1.2.1 在Windows下安装Apache伺服器 3
1.2.2 在Linux下安装Apache伺服器 6
1.3 PHP的安装和配置 7
1.3.1 在Windows下安装PHP 7
1.3.2 在Linux下安装PHP 8
1.4 套用组合包快速搭建PHP环境 9
1.5 第一个PHP程式 11
1.5.1 使用Adobe Dreamweaver编写源程式 12
1.5.2 发布和运行PHP程式 13
1.6 环境安装常见问题 13
1.6.1 Apache安装常见问题 13
1.6.2 PHP安装常见问题 13
1.6.3 MySQL安装常见问题 14
1.7 实战 15
1.8 小结 17
1.9 学习成果检验 17
第2章 PHP语言基础 18
视频讲解172分钟
2.1 PHP语法基础 19
2.1.1 PHP标记风格 19
2.1.2 PHP注释套用 19
2.2 PHP的数据类型 20
2.2.1 标量数据类型 20
2.2.2 複合数据类型 24
2.2.3 特殊数据类型 25
2.2.4 转换数据类型 26
2.2.5 检测数据类型 27
2.3 PHP的常量套用 27
2.3.1 声明和使用常量 28
2.3.2 预定义常量 28
2.4 PHP的变数套用 29
2.4.1 变数声明及使用 30
2.4.2 变数作用域 31
2.4.3 可变变数 33
2.4.4 预定义变数 33
2.4.5 变数的生存周期 34
2.5 PHP运算符 34
2.5.1 算术运算符 34
2.5.2 字元串运算符 35
2.5.3 赋值运算符 36
2.5.4 递增或递减运算符 36
2.5.5 位运算符 37
2.5.6 逻辑运算符 38
2.5.7 比较运算符 39
2.5.8 条件运算符 40
2.5.9 运算符的优先顺序和结合规则 40
2.6 PHP函式 41
2.6.1 定义和调用函式 41
2.6.2 在函式间传递参数 41
2.6.3 从函式中返回值 43
2.6.4 变数函式 43
2.6.5 对函式的引用 44
2.6.6 取消引用 44
2.7 输出语句 45
2.7.1 套用print语句输出字元 45
2.7.2 套用echo语句输出字元 46
2.7.3 套用printf语句格式化输出字元 47
2.7.4 套用sprintf语句格式化输出字元 48
2.8 引用档案 49
2.8.1 套用include语句引用档案 49
2.8.2 套用require语句引用档案 49
2.8.3 套用include_once语句引用档案 50
2.8.4 套用require_once语句引用档案 51
2.8.5 include语句和require语句的区别 51
2.8.6 include_once语句和require_once语句的
区别 52
2.9 实战 52
2.9.1 判断闰年的方法 52
2.9.2 通过自定义函式防止新闻主题信息出现
中文乱码 53
2.9.3 套用include语句构建线上音乐网站
主页 54
2.9.4 随机组合生日祝福语 56
2.9.5 加法计算器 56
2.10 小结 57
2.11 学习成果检验 57
第3章 PHP流程控制语句 58
视频讲解54分钟
3.1 控制结构 59
3.2 条件控制语句 60
3.2.1 if条件控制语句 60
3.2.2 switch...case分支控制语句 63
3.3 循环控制语句 64
3.3.1 while循环语句 64
3.3.2 do...while循环语句 65
3.3.3 for循环语句 66
3.3.4 foreach循环 67
3.4 跳转控制语句 68
3.4.1 使用break语句跳出循环 68
3.4.2 使用continue语句跳出循环 70
3.5 实战 71
3.5.1 执行指定次数的循环 71
3.5.2 跳过数据输出中指定的记录 72
3.5.3 控制页面中数据的输出数量 73
3.5.4 动态改变页面中单元格的背景颜色 73
3.5.5 使用for循环动态创建表格 74
3.6 小结 74
3.7 学习成果检验 75
第4章 字元串操作与正则表达式 76
视频讲解92分钟
4.1 了解字元串 77
4.2 单引号与双引号 77
4.3 定界符 78
4.4 连线字元串 80
4.5 转义、还原字元串 80
4.5.1 手动转义、还原字元串 80
4.5.2 自动转义、还原字元串 81
4.6 获取字元串长度 82
4.7 截取字元串 84
4.8 比较字元串 85
4.8.1 按位元组比较 85
4.8.2 按自然排序法比较 86
4.8.3 指定从源字元串的位置比较 87
4.9 检索字元串 87
4.9.1 使用strstr()函式检索指定的关键字 87
4.9.2 套用substr_count()函式检索子串出现的
次数 88
4.10 替换字元串 89
4.11 什幺是正则表达式 91
4.12 正则表达式语法规则 91
4.12.1 行定位符(^和$) 91
4.12.2 字元类([]) 92
4.12.3 选择字元(|) 92
4.12.4 连字元(-) 92
4.12.5 排除字元([^]) 93
4.12.6 限定符(? + {n,m}) 93
4.12.7 点字元(.) 93
4.12.8 反斜槓(\) 94
4.12.9 反向引用 95
4.13 POSIX扩展正则表达式函式 95
4.13.1 替换字元串 95
4.13.2 分割字元串 95
4.14 PCRE兼容正则表达式函式 96
4.14.1 查找字元串 96
4.14.2 替换字元串 96
4.15 实战 97
4.15.1 超长文本的分页显示 97
4.15.2 控制页面中输出字元串的长度 99
4.15.3 正则无刷新用户注册 100
4.15.4 计算密码长度 102
4.15.5 去除用户填写注册信息中的空格 103
4.16 小结 104
4.17 学习成果检验 104
第5章 初探数组 105
视频讲解146分钟
5.1 什幺是数组 106
5.2 声明数组 106
5.2.1 数组命名规则 106
5.2.2 通过PHP函式创建数组 107
5.2.3 通过数组标识符"[]"创建数组 108
5.3 数组的类型 108
5.3.1 数字索引数组 109
5.3.2 关联数组 109
5.4 输出数组 109
5.5 数组的构造 110
5.5.1 创建一维数组 110
5.5.2 创建二维数组 111
5.6 遍历数组 111
5.6.1 foreach结构遍历数组 112
5.6.2 list()函式遍历数组 112
5.6.3 for语句遍历数组 113
5.7 PHP全局数组 114
5.7.1 $_SERVER[]全局数组 114
5.7.2 $_GET[]和$_POST[]全局数组 115
5.7.3 $_COOKIE全局数组 115
5.7.4 $_ENV[]全局数组 116
5.7.5 $_REQUEST[]全局数组 116
5.7.6 $_SESSION[]全局数组 116
5.7.7 $_FILES[]全局数组 116
5.8 PHP的数组函式 117
5.8.1 统计数组元素个数 117
5.8.2 向数组中添加元素 117
5.8.3 获取数组中一个元素 118
5.8.4 删除数组中重複元素 118
5.8.5 获取数组中指定元素的键名 119
5.9 实战 120
5.9.1 获取上传档案的数据 120
5.9.2 投票管理系统 120
5.9.3 获取用户注册信息 121
5.9.4 车牌摇号 122
5.9.5 向数组中添加元素 122
5.10 小结 122
5.11 学习成果检验 123
第6章 日期和时间的管理 124
视频讲解43分钟
6.1 PHP的时间概念 125
6.1.1 在php.ini档案中设定时区 125
6.1.2 通过date_default_timezone_set函式设定
时区 125
6.2 时间戳 126
6.2.1 什幺是时间戳 126
6.2.2 UNIX时间戳 126
6.2.3 获取指定日期的时间戳 127
6.2.4 获取当前时间戳 127
6.2.5 将英文文本的日期时间描述解析为UNIX
时间戳 128
6.3 PHP日期和时间的处理 129
6.3.1 格式化日期和时间 129
6.3.2 获取日期和时间信息 130
6.3.3 获取本地化的日期和时间 131
6.3.4 检验日期和时间的有效性 133
6.4 实战 134
6.4.1 实现倒计时的功能 134
6.4.2 计算线上考试用时和剩余时间 135
6.4.3 网页闹钟 138
6.4.4 检验日期和时间的有效性 138
6.4.5 获取指定时间的UNIX时间戳 139
6.5 小结 139
6.6 学习成果检验 139
第7章 程式调试与异常处理 140
视频讲解72分钟
7.1 程式基本调试流程 141
7.2 PHP中的错误类型 141
7.2.1 语法错误 142
7.2.2 语义错误 143
7.2.3 逻辑错误 143
7.2.4 注释错误 144
7.2.5 运行错误 144
7.3 PHP错误的调试 145
7.3.1 PHP的错误报告 145
7.3.2 启动错误报告 145
7.3.3 使用print语句调试程式 145
7.3.4 套用@前缀字元禁止PHP脚本错误
提示 146
7.3.5 使用错误处理器记录日誌 147
7.4 SQL错误的调试 148
7.4.1 PHP与MySQL连线错误 148
7.4.2 SQL语句错误 148
7.5 实战 150
7.5.1 运行缺少第三方组件的程式 150
7.5.2 通过readfile()函式访问远程档案 150
7.5.3 解决资料库乱码问题 151
7.5.4 封装异常处理类 152
7.5.5 解决程式的语法错误 153
7.6 小结 153
7.7 学习成果检验 154
第8章 综合实例(一)--线上论坛 155
视频讲解25分钟
8.1 系统设计思路 156
8.1.1 程式业务流程 156
8.1.2 系统预览 156
8.2 资料库设计 157
8.2.1 资料库概要说明 157
8.2.2 资料库概念设计 157
8.2.3 资料库逻辑设计 158
8.3 用户注册模组设计 159
8.3.1 用户注册模组概述 159
8.3.2 JavaScript脚本和include()包含语句 160
8.3.3 用户注册模组的实现过程 161
8.4 用户登录模组设计 163
8.4.1 用户登录模组概述 163
8.4.2 通过JavaScript脚本判断用户名和密码
是否为空 163
8.4.3 用户登录模组的实现过程 164
8.5 帖子分类管理模组设计 165
8.5.1 帖子分类管理模组概述 165
8.5.2 使用SQL语句查询数据技术 165
8.5.3 帖子分类管理模组的实现过程 166
8.6 发帖模组设计 168
8.6.1 发帖模组概述 168
8.6.2 while循环语句技术 168
8.6.3 发帖模组的实现过程 169
8.7 回帖模组设计 170
8.7.1 回帖模组概述 170
8.7.2 mysql函式处理技术 170
8.7.3 回帖模组的实现过程 170
8.8 后台管理模组设计 172
8.8.1 后台管理模组概述 172
8.8.2 URL编码和SWITCH框架技术 172
8.8.3 后台主页的实现过程 172
8.8.4 栏目管理模组的实现过程 174
8.9 小结 176
第2篇 初级开发
第9章 MySQL资料库 178
视频讲解37分钟
9.1 MySQL简介 179
9.1.1 什幺是MySQL 179
9.1.2 MySQL的特点 179
9.1.3 MySQL 5支持的特性 180
9.2 MySQL下载 180
9.3 MySQL的环境安装 182
9.4 启动、连线、断开和停止MySQL
伺服器 186
9.4.1 启动MySQL伺服器 186
9.4.2 连线和断开MySQL伺服器 186
9.4.3 停止MySQL伺服器 187
9.5 phpMyAdmin图形化管理工具 188
9.5.1 资料库操作管理 188
9.5.2 管理数据表 189
9.5.3 管理数据记录 190
9.5.4 导入导出数据 193
9.5.5 phpMyAdmin设定编码格式 194
9.5.6 phpMyAdmin添加伺服器新用户 194
9.5.7 phpMyAdmin中重置MySQL伺服器登录
密码 195
9.6 小结 196
9.7 学习成果检验 196
第10章 MySQL存储引擎与运算符 197
视频讲解33分钟
10.1 MySQL存储引擎 198
10.1.1 什幺是MySQL存储引擎 198
10.1.2 查询MySQL中支持的存储引擎 198
10.1.3 InnoDB存储引擎 199
10.1.4 MyISAM存储引擎 200
10.1.5 MEMORY存储引擎 200
10.1.6 如何选择存储引擎 201
10.1.7 设定数据表的存储引擎 202
10.2 MySQL数据类型 203
10.2.1 数字类型 203
10.2.2 字元串类型 204
10.2.3 日期和时间数据类型 205
10.3 MySQL运算符 205
10.3.1 算术运算符 206
10.3.2 比较运算符 206
10.3.3 逻辑运算符 209
10.3.4 位运算符 211
10.3.5 运算符的优先权 211
10.4 实战 212
10.4.1 查看存储引擎和创建资料库 212
10.4.2 位运算的比较 212
10.4.3 逻辑运算的使用 213
10.4.4 浮点数类型 213
10.5 小结 213
10.6 学习成果检验 213
第11章 MySQL函式之选 214
视频讲解26分钟
11.1 MySQL函式 215
11.2 数学函式 215
11.2.1 ABS(x)函式 216
11.2.2 FLOOR(x)函式 216
11.2.3 RAND()函式 217
11.2.4 PI()函式 217
11.2.5 TRUNCATE(x,y)函式 217
11.2.6 ROUND(x)函式和ROUND(x,y)函式 217
11.2.7 SQRT(x)函式 218
11.3 字元串函式 218
11.3.1 INSERT(s1,x,len,s2)函式 219
11.3.2 UPPER(s)、UCASE(s)函式 219
11.3.3 LEFT(s,n)函式 220
11.3.4 RTRIM(s)函式 220
11.3.5 SUBSTRING(s,n,len)函式 220
11.3.6 REVERSE(s)函式 220
11.3.7 FIELD(s,s1,s2,...)函式 221
11.4 日期和时间函式 221
11.4.1 CURDATE()函式和CURRENT_DATE()
函式 222
11.4.2 CURTIME()函式和CURRENT_TIME()
函式 222
11.4.3 NOW()函式 223
11.4.4 DATEDIFF(d1,d2)函式 223
11.4.5 ADDDATE(d,n)函式 223
11.4.6 ADDDATE(d,INTERVAL expr type)
函式 224
11.4.7 SUBDATE(d,n)函式 224
11.5 条件判断函式 224
11.6 系统信息函式 225
11.6.1 获取MySQL版本号、连线数和资料库名
的函式 225
11.6.2 获取用户名的函式 225
11.6.3 获取字元串的字元集和排序方式的
函式 226
11.7 加密函式 226
11.7.1 加密函式PASSWORD(str) 227
11.7.2 加密函式MD5(str) 227
11.8 其他函式 227
11.8.1 格式化函式FORMAT(x,n) 228
11.8.2 改变字元集的函式 228
11.8.3 改变栏位数据类型的函式 229
11.9 实战 229
11.9.1 字元串函式的使用 229
11.9.2 查看当前资料库版本号 229
11.9.3 生成3个1~100之间的随机整数 230
11.9.4 数字函式的使用 230
11.9.5 加密函式的使用 230
11.10 小结 230
11.11 学习成果检验 231
第12章 MySQL基本操作 232
视频讲解37分钟
12.1 MySQL资料库操作 233
12.1.1 创建资料库CREATE DATABASE 233
12.1.2 查看资料库SHOW DATABASES 233
12.1.3 选择资料库USE DATABASE 233
12.1.4 删除资料库DROP DATABASE 234
12.2 MySQL数据表操作 234
12.2.1 创建数据表CREATE TABLE 234
12.2.2 查看錶结构SHOW COLUMNS
或DESCRIBE 235
12.2.3 修改表结构ALTER TABLE 236
12.2.4 重命名表RENAME TABLE 237
12.2.5 删除表DROP TABLE 237
12.3 MySQL语句操作 237
12.3.1 插入记录INSERT 238
12.3.2 查询资料库记录SELECT 238
12.3.3 修改记录UPDATE 241
12.3.4 删除记录DELETE 241
12.4 实战 242
12.4.1 操作teacher表 242
12.4.2 登录资料库系统 242
12.4.3 读取MySQL资料库中数据
(PHP语言) 243
12.4.4 备份和恢复MySQL资料库
(Java语言) 244
12.4.5 查看錶详细结构语句SHOW CREATE
TABLE 245
12.5 小结 245
12.6 学习成果检验 246
第13章 MySQL数据查询 247
视频讲解60分钟
13.1 基本查询语句 248
13.2 单表查询 248
13.2.1 查询所有栏位 249
13.2.2 查询指定栏位 249
13.2.3 查询指定数据 249
13.2.4 带IN关键字的查询 250
13.2.5 带BETWEEN AND的範围查询 250
13.2.6 带LIKE的字元匹配查询 250
13.2.7 用IS NULL关键字查询空值 251
13.2.8 带AND的多条件查询 251
13.2.9 带OR的多条件查询 252
13.2.10 用DISTINCT关键字去除结果中的
重複行 252
13.2.11 用ORDER BY关键字对查询结果
排序 252
13.2.12 用GROUP BY关键字分组查询 253
13.2.13 用LIMIT限制查询结果的数量 254
13.3 聚合函式查询 254
13.3.1 COUNT()函式 255
13.3.2 SUM()函式 255
13.3.3 AVG()函式 255
13.3.4 MAX()函式 255
13.3.5 MIN()函式 256
13.4 连线查询 256
13.4.1 内连线查询 256
13.4.2 外连线查询 257
13.4.3 複合条件连线查询 258
13.5 子查询 258
13.5.1 带IN关键字的子查询 258
13.5.2 带比较运算符的子查询 259
13.5.3 带EXISTS关键字的子查询 260
13.5.4 带ANY关键字的子查询 260
13.5.5 带ALL关键字的子查询 261
13.6 合併查询结果 262
13.7 定义表和栏位的别名 263
13.7.1 为表取别名 263
13.7.2 为栏位取别名 263
13.8 使用正则表达式查询 263
13.8.1 匹配指定字元中的任意一个 264
13.8.2 使用""和"+"来匹配多个字元 265
13.9 实战 265
13.9.1 使用聚合函式SUM对学生成绩进行
汇总 265
13.9.2 查询大于指定条件的记录 266
13.9.3 使用比较运算符进行子查询 267
13.9.4 GROUP BY与HAVING 关键字 267
13.9.5 用符号"."来替代字元串中的任意一个
字元 267
13.10 小结 268
13.11 学习成果检验 268
第14章 综合实例(二)--留言本 269
视频讲解35分钟
14.1 留言本概述 270
14.2 系统分析流程 270
14.2.1 程式业务流程 270
14.2.2 系统预览 270
14.3 资料库设计 271
14.3.1 资料库概要说明 271
14.3.2 资料库概念设计 272
14.3.3 资料库逻辑设计 272
14.4 公共模组设计 274
14.4.1 资料库连线档案 274
14.4.2 将文本中的字元转换为HTML
标识符 274
14.4.3 JavaScript脚本 275
14.5 首页模组设计 276
14.5.1 首页设计概述 276
14.5.2 switch和include语句 277
14.5.3 首页实现过程 278
14.6 用户注册模组设计 279
14.6.1 用户注册模组概述 279
14.6.2 JavaScript脚本验证表单元素 279
14.6.3 用户注册模组实现过程 281
14.7 添加留言模组设计 282
14.7.1 添加留言模组概述 282
14.7.2 mysql_query()函式执行SQL语句 282
14.7.3 添加留言模组实现过程 282
14.8 查看留言模组设计 283
14.8.1 查看留言模组概述 283
14.8.2 验证数据类型与取整 283
14.8.3 查看留言模组实现过程 284
14.9 编辑留言模组设计 286
14.9.1 编辑留言模组概述 286
14.9.2 JavaScript脚本控制弹出对话框 286
14.9.3 编辑留言模组实现过程 287
14.10 查询留言模组设计 287
14.10.1 查询留言模组概述 287
14.10.2 通过mysql_fetch_array()函式返回
结果集 288
14.10.3 查询留言模组实现过程 288
14.11 版主模组设计 289
14.11.1 版主模组概述 289
14.11.2 验证登录用户是否是版主 289
14.11.3 版主管理模组实现过程 290
14.12 小结 291
第3篇 中级开发
第15章 MySQL存储过程和函式 294
视频讲解32分钟
15.1 创建存储过程和存储函式 295
15.1.1 创建存储过程 295
15.1.2 创建存储函式 296
15.1.3 变数的套用 297
15.1.4 游标的运用 299
15.2 流程控制语句 300
15.2.1 IF语句 300
15.2.2 CASE语句 301
15.2.3 WHILE循环语句 302
15.2.4 LOOP循环语句 303
15.2.5 REPEAT循环语句 304
15.3 调用存储过程和存储函式 305
15.3.1 调用存储过程 305
15.3.2 调用存储函式 305
15.4 查看存储过程和函式 305
15.4.1 SHOW STATUS语句 305
15.4.2 SHOW CREATE语句 306
15.5 修改存储过程和函式 306
15.6 删除存储过程和函式 307
15.7 捕获存储过程中的错误 308
15.7.1 定义条件 308
15.7.2 定义处理程式 308
15.8 实战 309
15.8.1 使用存储过程实现用户注册(PHP) 309
15.8.2 修改存储函式 310
15.8.3 从information_schema.Routines表中
查看存储过程 310
15.9 小结 311
15.10 学习成果检验 311
第16章 MySQL事务 312
视频讲解14分钟
16.1 MySQL事务概述 313
16.1.1 原子性 313
16.1.2 一致性 314
16.1.3 孤立性 314
16.1.4 持久性 314
16.2 MySQL事务的创建与存在周期 314
16.2.1 初始化事务 315
16.2.2 创建事务 315
16.2.3 套用SELECT语句查看数据是否被
正确输入 316
16.2.4 提交事务 316
16.2.5 撤销事务(事务回滚) 316
16.2.6 事务的存在周期 317
16.3 MySQL行为 317
16.3.1 自动提交 317
16.3.2 事务的孤立级 318
16.3.3 修改事务的孤立级 319
16.4 事务和性能 319
16.4.1 套用小事务 319
16.4.2 选择合适的孤立级 319
16.4.3 死锁的概念与避免 320
16.5 MySQL伪事务 320
16.5.1 用表锁定代替事务 320
16.5.2 套用表锁实现伪事务 322
16.6 实战 322
16.6.1 使用事务处理技术实现银行的安全
转账(PHP) 322
16.6.2 批处理中使用事务(Java) 323
16.7 小结 324
16.8 学习成果检验 324
第17章 触发器 325
视频讲解21分钟
17.1 MySQL触发器 326
17.1.1 创建MySQL触发器 326
17.1.2 创建具有多个执行语句的触发器 327
17.2 查看触发器 328
17.2.1 SHOW TRIGGERS 328
17.2.2 查看 triggers表中触发器信息 328
17.3 套用触发器 329
17.4 删除触发器 330
17.5 实战 330
17.5.1 创建一个由INSERT触发的触发器 330
17.5.2 获取资料库中的触发器 331
17.5.3 使用DROP TIRGGER删除触发器 332
17.6 小结 332
17.7 学习成果检验 332
第18章 综合实例(三)--物流管理
系统 333
视频讲解83分钟
18.1 物流管理系统概述 334
18.2 系统分析流程 334
18.2.1 需求分析 334
18.2.2 可行性分析 334
18.3 系统设计流程 335
18.3.1 系统目标 335
18.3.2 系统功能结构 335
18.3.3 系统预览 336
18.4 资料库设计 337
18.4.1 资料库分析 337
18.4.2 资料库概念设计 337
18.4.3 创建资料库及数据表 339
18.5 网站首页设计 340
18.5.1 网站首页概述 340
18.5.2 网站首页设计技术 341
18.5.3 网站首页的实现过程 341
18.6 车源信息查询模组设计 342
18.6.1 车源信息查询模组概述 342
18.6.2 模糊查询技术 342
18.6.3 车源信息查询模组的实现过程 344
18.7 发货单管理模组设计 344
18.7.1 发货单管理模组概述 344
18.7.2 发货单编号生成技术 345
18.7.3 发货单填单的实现过程 347
18.7.4 发货单查询的实现过程 348
18.7.5 发货单列印的实现过程 350
18.8 回执单验收管理模组设计 350
18.8.1 回执单模组概述 350
18.8.2 MySQL函式馆函式套用技术 351
18.8.3 回执单验收模组的实现过程 352
18.9 基础信息管理模组设计 353
18.9.1 基础信息管理模组概述 353
18.9.2 面向对象封装密码修改类 353
18.9.3 客户信息管理的实现过程 355
18.9.4 车源信息管理的实现过程 356
18.10 小结 358
第4篇 进阶提高
第19章 ADODB类库 360
视频讲解64分钟
19.1 ADODB类库是什幺 361
19.2 ADODB支持的资料库 361
19.3 ADODB下载与安装 362
19.4 ADODB类库 363
19.4.1 连线资料库函式 363
19.4.2 运算元据库函式 365
19.4.3 控制结果集存取方式 369
19.4.4 操作结果集函式 369
19.4.5 处理事务函式 372
19.4.6 生成HTML表格函式 372
19.4.7 生成下拉列表框函式 372
19.4.8 实现分页功能函式 373
19.4.9 错误处理函式 374
19.5 实战 375
19.5.1 实现分页 375
19.5.2 处理事务 376
19.5.3 快取函式+ADODB动态生成静态页 377
19.5.4 ADODB控制结果集的存取方法 381
19.6 小结 383
19.7 学习成果检验 383
第20章 资料库编程技术 384
视频讲解136分钟
20.1 PHP访问MySQL资料库的一般
步骤 385
20.2 PHP操作MySQL资料库的方法 386
20.2.1 使用mysql_connect()函式连线MySQL
伺服器 386
20.2.2 使用mysql_select_db()函式选择资料库
档案 387
20.2.3 使用mysql_query()函式执行SQL语句 387
20.2.4 套用mysql_fetch_array()函式从数组结果
集中获取信息 389
20.2.5 套用mysql_fetch_object()函式从结果集中
获取一行作为对象 390
20.2.6 套用mysql_fetch_row()函式逐行获取结果
集中的每条记录 391
20.2.7 套用mysql_num_rows()函式获取查询
结果集中的记录数 393
20.2.8 关闭连线 394
20.3 管理MySQL资料库中的数据 395
20.3.1 套用insert命令动态添加公告信息 395
20.3.2 套用select命令查询公告信息 397
20.3.3 解决截取公告主题乱码问题 398
20.3.4 分页显示公告信息 400
20.3.5 套用update命令动态编辑公告信息 402
20.3.6 套用delete命令动态删除公告信息 403
20.4 PHP操作MySQL事务 404
20.5 PHP操作MySQL存储过程 406
20.6 实战 407
20.6.1 输入页码跳转到指定页 407
20.6.2 图片的分栏分页显示 409
20.6.3 查询图书信息表中的前3条记录 412
20.6.4 对查询结果进行降序排列输出 413
20.7 小结 414
20.8 学习成果检验 414
第21章 PDO资料库抽象层 415
视频讲解60分钟
21.1 什幺是PDO 416
21.1.1 PDO概述 416
21.1.2 PDO特点 416
21.1.3 安装PDO 416
21.2 PDO连线资料库 417
21.2.1 PDO构造函式 417
21.2.2 DSN详解 417
21.3 PDO中执行SQL语句 418
21.3.1 exec()方法 418
21.3.2 query()方法 418
21.3.3 预处理语句--prepare()和execute() 418
21.4 PDO中获取结果集 418
21.4.1 fetch()方法 418
21.4.2 fetchAll()方法 419
21.4.3 fetchColumn()方法 421
21.5 PDO中捕获SQL语句中的错误 422
21.5.1 使用默认模式--PDO::ERRMODE_
SILENT 422
21.5.2 使用警告模式--PDO::ERRMODE_
WARNING 422
21.5.3 使用异常模式--PDO::ERRMODE_
EXCEPTION 424
21.6 PDO中的错误处理 425
21.6.1 errorCode()方法 425
21.6.2 errorInfo()方法 426
21.7 PDO中的事务处理 427
21.8 PDO中的存储过程 428
21.9 实战 430
21.9.1 通过PDO更新资料库中数据 430
21.9.2 明日书店会员注册 431
21.9.3 添加留言信息 432
21.9.4 查询留言内容 433
21.10 小结 434
21.11 学习成果检验 434
第22章 综合实例(四)--BCTY365
网上社区 435
视频讲解138分钟
22.1 BCTY365网上社区概述 436
22.1.1 系统功能结构流程 436
22.1.2 系统预览 437
22.2 资料库设计 438
22.2.1 资料库概要说明 438
22.2.2 资料库概念设计 438
22.2.3 资料库逻辑设计 439
22.3 前台首页设计 441
22.3.1 前台首页概述 441
22.3.2 公告信息的滚动输出技术 442
22.3.3 前台首页的实现过程 444
22.4 注册模组设计 445
22.4.1 注册模组概述 445
22.4.2 通过JavaScript脚本验证表单元素 445
22.4.3 注册模组的实现过程 447
22.5 技术支持模组设计 448
22.5.1 技术支持模组概述 448
22.5.2 分页技术 448
22.5.3 常见问题模组的实现过程 450
22.5.4 客户反馈模组的实现过程 450
22.6 线上订购模组设计 451
22.6.1 线上订购模组概述 451
22.6.2 订单的预览及列印技术 452
22.6.3 购物车的实现过程 453
22.6.4 商品订单的实现过程 456
22.7 社区论坛模组设计 457
22.7.1 社区论坛模组概述 457
22.7.2 页面跳转技术 457
22.7.3 论坛分类的实现过程 458
22.7.4 论坛帖子浏览的实现过程 460
22.7.5 论坛帖子发布的实现过程 462
22.7.6 论坛帖子回复的实现过程 464
22.8 后台首页设计 465
22.8.1 后台首页概述 465
22.8.2 switch框架技术 465
22.8.3 后台首页的实现过程 467
22.9 编程词典管理模组设计 468
22.9.1 编程词典管理模组概述 468
22.9.2 图片上传技术 468
22.9.3 添加编程词典模组的实现过程 469
22.9.4 编辑编程词典模组的实现过程 471
22.10 软体升级管理模组设计 472
22.10.1 软体升级管理模组概述 472
22.10.2 动态输出下拉列表框的值 473
22.10.3 软体升级包上传的实现过程 474
22.10.4 软体升级包删除的实现过程 475
22.11 线上支付技术专题 475
22.12 小结 478
第5篇 高级套用
第23章 Smarty模板技术 480
视频讲解70分钟
23.1 Smarty简介 481
23.1.1 Smarty模板引擎 481
23.1.2 Smarty与MVC 482
23.1.3 Smarty特点 482
23.2 Smarty的安装配置 482
23.2.1 Smarty下载和安装 482
23.2.2 Smarty配置 483
23.2.3 第一个Smarty程式 484
23.3 Smarty模板设计 485
23.3.1 Smarty模板档案 485
23.3.2 注释 485
23.3.3 变数 486
23.3.4 修饰变数 488
23.3.5 流程控制 489
23.4 Smarty程式设计 492
23.4.1 Smarty中的常用方法 492
23.4.2 Smarty的配置变数 493
23.5 实战 494
23.5.1 Smarty模板中日期、时间的格式化
输出 494
23.5.2 Smarty模板中的页面设计 494
23.5.3 网站公告 495
23.5.4 Smarty模板中套用正则表达式 497
23.5.5 if语句判断当前用户许可权 499
23.6 小结 500
23.7 学习成果检验 500
第24章 ThinkPHP框架 501
视频讲解153分钟
24.1 ThinkPHP简介 502
24.1.1 ThinkPHP框架的特点 502
24.1.2 环境要求 502
24.1.3 下载ThinkPHP框架 502
24.2 ThinkPHP架构 504
24.2.1 ThinkPHP的目录结构 504
24.2.2 自动生成目录 505
24.2.3 项目目录部署方案 505
24.2.4 命名规范 506
24.2.5 项目构建流程 507
24.3 ThinkPHP的配置 508
24.3.1 配置格式 509
24.3.2 调试配置 509
24.4 ThinkPHP的控制器 510
24.4.1 控制器 510
24.4.2 跨模组调用 511
24.5 ThinkPHP的模型 514
24.5.1 模型的命名 514
24.5.2 实例化模型 515
24.5.3 属性访问 518
24.5.4 连线资料库 518
24.5.5 创建数据 521
24.5.6 连贯操作 522
24.5.7 CURD操作 523
24.6 ThinkPHP的视图 528
24.6.1 模板定义 528
24.6.2 模板赋值 528
24.6.3 指定模板档案 529
24.6.4 特殊字元串替换 530
24.7 内置ThinkTemplate模板引擎 533
24.8 小结 538
24.9 学习成果检验 538
第25章 Zend Framework框架 539
视频讲解39分钟
25.1 Zend Framework的MVC介绍 540
25.1.1 Zend Framework概述 540
25.1.2 Zend Framework常用组件 540
25.1.3 MVC原理 540
25.2 Zend Framework的MVC环境
搭建 541
25.2.1 环境配置 541
25.2.2 框架结构 542
25.2.3 创建流程 542
25.2.4 Zend Framework的编码标準 545
25.3 Zend_Auth身份认证 546
25.3.1 Zend_Auth适配器 546
25.3.2 身份持久认证 547
25.3.3 资料库认证 550
25.4 Zend_Db资料库操作 551
25.4.1 Zend_Db_Adapter资料库操作 551
25.4.2 Zend_Db_Table资料库操作 551
25.4.3 数据表类 552
25.5 Zend_File档案控制 556
25.5.1 使用Zend_File_Transfer_Adapter_Http
实现POST方式档案上传 556
25.5.2 对上传档案的合理性验证 558
25.5.3 为上传增加过滤规则 558
25.6 Zend_Layout网站布局 559
25.6.1 Zend_Layout概述 559
25.6.2 Zend_Layout使用方法 559
25.6.3 Zend_Layout套用实例 560
25.7 Zend_Paginator分页 562
25.7.1 Zend_Paginator简介 562
25.7.2 Zend_Paginator分页方法 562
25.7.3 Zend_Paginator分页套用 563
25.8 实战 566
25.8.1 Zend_Paginator实现数据分页显示 566
25.8.2 Zend Framework用户身份验证 567
25.8.3 Zend_Mail传送邮件 569
25.8.4 Zend_Form製作用户注册表单 571
25.9 小结 573
25.10 学习成果检验 573
第26章 综合实例(五)--电子商务
网站 574
视频讲解53分钟
26.1 电子商务网站概述 575
26.2 系统分析 575
26.2.1 系统目标 575
26.2.2 功能流程结构 575
26.2.3 程式预览 575
26.3 资料库设计 577
26.3.1 资料库分析 577
26.3.2 创建资料库和数据表 578
26.4 公共档案设计 579
26.4.1 资料库连线、管理和分页类档案 579
26.4.2 Smarty模板配置类档案 582
26.4.3 执行类的实例化档案 582
26.5 前台首页设计 582
26.5.1 前台首页概述 582
26.5.2 Smarty模板页中的框架技术 583
26.5.3 前台首页实现过程 583
26.6 登录模组设计 585
26.6.1 登录模组概述 585
26.6.2 Ajax无刷新验证技术 585
26.6.3 用户注册 587
26.6.4 用户登录 588
26.6.5 找回密码 590
26.7 会员信息模组设计 594
26.7.1 会员信息模组概述 594
26.7.2 会员信息查询技术 595
26.7.3 会员中心 595
26.7.4 安全退出 597
26.8 商品展示模组设计 598
26.8.1 商品展示模组概述 598
26.8.2 分页技术 598
26.8.3 商品展示模组的实现过程 599
26.9 购物车模组设计 600
26.9.1 购物车模组概述 600
26.9.2 购物车中商品添加技术 600
26.9.3 购物车展示 602
26.9.4 更改商品数量 604
26.9.5 删除商品 604
26.9.6 保存购物车 606
26.10 收银台模组设计 608
26.10.1 收银台模组概述 608
26.10.2 PDO操作MySQL资料库技术 608
26.10.3 显示订单 609
26.10.4 填写订单 609
26.10.5 处理订单 610
26.11 后台首页设计 611
26.11.1 后台首页概述 611
26.11.2 后台网页布局技术 611
26.11.3 后台首页实现过程 613
26.12 小结 614
第6篇 项目实战
第27章 易查供求信息网 616
视频讲解125分钟
27.1 易查供求信息网概述 617
27.2 系统分析 617
27.2.1 需求分析 617
27.2.2 可行性分析 617
27.3 系统设计 618
27.3.1 系统目标 618
27.3.2 系统功能结构 619
27.3.3 系统预览 620
27.3.4 资料夹组织结构 621
27.4 资料库设计 622
27.4.1 资料库分析 622
27.4.2 资料库概念设计 622
27.4.3 创建资料库及数据表 623
27.5 前台首页设计 624
27.5.1 前台首页概述 624
27.5.2 超连结技术 625
27.5.3 前台首页的实现过程 626
27.6 免费供求信息发布模组设计 627
27.6.1 免费供求信息发布模组概述 627
27.6.2 MySQL资料库连线技术 628
27.6.3 免费供求信息发布模组的实现过程 630
27.7 信息检索模组设计 631
27.7.1 信息检索模组概述 631
27.7.2 模糊查询技术 632
27.7.3 信息检索模组的实现过程 633
27.8 后台首页设计 636
27.8.1 后台首页概述 636
27.8.2 frame框架技术 637
27.8.3 后台首页的实现过程 639
27.9 付费供求信息发布模组设计 640
27.9.1 付费供求信息发布模组概述 640
27.9.2 计算供求信息的有效时间 640
27.9.3 付费供求信息发布模组的实现过程 640
27.10 付费信息管理模组设计 642
27.10.1 付费信息管理模组概述 642
27.10.2 数据的更新和删除技术 643
27.10.3 付费信息显示的实现过程 644
27.10.4 付费信息审核的实现过程 646
27.10.5 付费信息删除的实现过程 647
27.10.6 单元测试 648
27.11 小结 649
第28章 图书馆管理系统 650
视频讲解137分钟
28.1 图书馆管理系统概述 651
28.2 需求分析 651
28.3 系统设计 651
28.3.1 系统目标 651
28.3.2 系统功能结构 652
28.3.3 系统流程图 652
28.3.4 系统预览 652
28.3.5 资料夹组织结构 654
28.4 资料库设计 654
28.4.1 资料库分析 654
28.4.2 资料库概念设计 654
28.4.3 创建资料库及数据表 655
28.5 首页设计 656
28.5.1 首页概述 656
28.5.2 许可权设定技术 657
28.5.3 首页的实现过程 658
28.6 管理员模组设计 658
28.6.1 管理员模组概述 658
28.6.2 控制档案的访问许可权 659
28.6.3 系统登录页面的实现过程 660
28.6.4 查看管理员列表页面的实现过程 661
28.6.5 添加管理员信息页面的实现过程 662
28.6.6 设定管理员许可权页面的实现过程 663
28.6.7 删除管理员的实现过程 665
28.7 图书档案管理模组设计 665
28.7.1 图书档案管理模组概述 665
28.7.2 图书档案管理中的多表查询技术 666
28.7.3 查看图书信息列表页面的实现过程 666
28.7.4 添加图书信息页面的实现过程 667
28.7.5 修改图书信息页面的实现过程 668
28.7.6 删除图书信息的实现过程 670
28.8 图书借还模组设计 670
28.8.1 图书借还模组概述 670
28.8.2 图书借还模组中的多表查询技术 670
28.8.3 图书借阅页面的实现过程 671
28.8.4 图书续借页面的实现过程 673
28.8.5 图书归还页面的实现过程 675
28.8.6 图书借阅查询页面的实现过程 676
28.9 小结 678
第1篇 新手入门
第1章 初识PHP环境搭建 2
视频讲解66分钟
1.1 PHP开发环境的搭建 3
1.1.1 在Windows下搭建PHP开发环境 3
1.1.2 在Linux下搭建PHP开发环境 3
1.2 Apache伺服器的安装和配置 3
1.2.1 在Windows下安装Apache伺服器 3
1.2.2 在Linux下安装Apache伺服器 6
1.3 PHP的安装和配置 7
1.3.1 在Windows下安装PHP 7
1.3.2 在Linux下安装PHP 8
1.4 套用组合包快速搭建PHP环境 9
1.5 第一个PHP程式 11
1.5.1 使用Adobe Dreamweaver编写源程式 12
1.5.2 发布和运行PHP程式 13
1.6 环境安装常见问题 13
1.6.1 Apache安装常见问题 13
1.6.2 PHP安装常见问题 13
1.6.3 MySQL安装常见问题 14
1.7 实战 15
1.8 小结 17
1.9 学习成果检验 17
第2章 PHP语言基础 18
视频讲解172分钟
2.1 PHP语法基础 19
2.1.1 PHP标记风格 19
2.1.2 PHP注释套用 19
2.2 PHP的数据类型 20
2.2.1 标量数据类型 20
2.2.2 複合数据类型 24
2.2.3 特殊数据类型 25
2.2.4 转换数据类型 26
2.2.5 检测数据类型 27
2.3 PHP的常量套用 27
2.3.1 声明和使用常量 28
2.3.2 预定义常量 28
2.4 PHP的变数套用 29
2.4.1 变数声明及使用 30
2.4.2 变数作用域 31
2.4.3 可变变数 33
2.4.4 预定义变数 33
2.4.5 变数的生存周期 34
2.5 PHP运算符 34
2.5.1 算术运算符 34
2.5.2 字元串运算符 35
2.5.3 赋值运算符 36
2.5.4 递增或递减运算符 36
2.5.5 位运算符 37
2.5.6 逻辑运算符 38
2.5.7 比较运算符 39
2.5.8 条件运算符 40
2.5.9 运算符的优先顺序和结合规则 40
2.6 PHP函式 41
2.6.1 定义和调用函式 41
2.6.2 在函式间传递参数 41
2.6.3 从函式中返回值 43
2.6.4 变数函式 43
2.6.5 对函式的引用 44
2.6.6 取消引用 44
2.7 输出语句 45
2.7.1 套用print语句输出字元 45
2.7.2 套用echo语句输出字元 46
2.7.3 套用printf语句格式化输出字元 47
2.7.4 套用sprintf语句格式化输出字元 48
2.8 引用档案 49
2.8.1 套用include语句引用档案 49
2.8.2 套用require语句引用档案 49
2.8.3 套用include_once语句引用档案 50
2.8.4 套用require_once语句引用档案 51
2.8.5 include语句和require语句的区别 51
2.8.6 include_once语句和require_once语句的
区别 52
2.9 实战 52
2.9.1 判断闰年的方法 52
2.9.2 通过自定义函式防止新闻主题信息出现
中文乱码 53
2.9.3 套用include语句构建线上音乐网站
主页 54
2.9.4 随机组合生日祝福语 56
2.9.5 加法计算器 56
2.10 小结 57
2.11 学习成果检验 57
第3章 PHP流程控制语句 58
视频讲解54分钟
3.1 控制结构 59
3.2 条件控制语句 60
3.2.1 if条件控制语句 60
3.2.2 switch...case分支控制语句 63
3.3 循环控制语句 64
3.3.1 while循环语句 64
3.3.2 do...while循环语句 65
3.3.3 for循环语句 66
3.3.4 foreach循环 67
3.4 跳转控制语句 68
3.4.1 使用break语句跳出循环 68
3.4.2 使用continue语句跳出循环 70
3.5 实战 71
3.5.1 执行指定次数的循环 71
3.5.2 跳过数据输出中指定的记录 72
3.5.3 控制页面中数据的输出数量 73
3.5.4 动态改变页面中单元格的背景颜色 73
3.5.5 使用for循环动态创建表格 74
3.6 小结 74
3.7 学习成果检验 75
第4章 字元串操作与正则表达式 76
视频讲解92分钟
4.1 了解字元串 77
4.2 单引号与双引号 77
4.3 定界符 78
4.4 连线字元串 80
4.5 转义、还原字元串 80
4.5.1 手动转义、还原字元串 80
4.5.2 自动转义、还原字元串 81
4.6 获取字元串长度 82
4.7 截取字元串 84
4.8 比较字元串 85
4.8.1 按位元组比较 85
4.8.2 按自然排序法比较 86
4.8.3 指定从源字元串的位置比较 87
4.9 检索字元串 87
4.9.1 使用strstr()函式检索指定的关键字 87
4.9.2 套用substr_count()函式检索子串出现的
次数 88
4.10 替换字元串 89
4.11 什幺是正则表达式 91
4.12 正则表达式语法规则 91
4.12.1 行定位符(^和$) 91
4.12.2 字元类([]) 92
4.12.3 选择字元(|) 92
4.12.4 连字元(-) 92
4.12.5 排除字元([^]) 93
4.12.6 限定符(? + {n,m}) 93
4.12.7 点字元(.) 93
4.12.8 反斜槓(\) 94
4.12.9 反向引用 95
4.13 POSIX扩展正则表达式函式 95
4.13.1 替换字元串 95
4.13.2 分割字元串 95
4.14 PCRE兼容正则表达式函式 96
4.14.1 查找字元串 96
4.14.2 替换字元串 96
4.15 实战 97
4.15.1 超长文本的分页显示 97
4.15.2 控制页面中输出字元串的长度 99
4.15.3 正则无刷新用户注册 100
4.15.4 计算密码长度 102
4.15.5 去除用户填写注册信息中的空格 103
4.16 小结 104
4.17 学习成果检验 104
第5章 初探数组 105
视频讲解146分钟
5.1 什幺是数组 106
5.2 声明数组 106
5.2.1 数组命名规则 106
5.2.2 通过PHP函式创建数组 107
5.2.3 通过数组标识符"[]"创建数组 108
5.3 数组的类型 108
5.3.1 数字索引数组 109
5.3.2 关联数组 109
5.4 输出数组 109
5.5 数组的构造 110
5.5.1 创建一维数组 110
5.5.2 创建二维数组 111
5.6 遍历数组 111
5.6.1 foreach结构遍历数组 112
5.6.2 list()函式遍历数组 112
5.6.3 for语句遍历数组 113
5.7 PHP全局数组 114
5.7.1 $_SERVER[]全局数组 114
5.7.2 $_GET[]和$_POST[]全局数组 115
5.7.3 $_COOKIE全局数组 115
5.7.4 $_ENV[]全局数组 116
5.7.5 $_REQUEST[]全局数组 116
5.7.6 $_SESSION[]全局数组 116
5.7.7 $_FILES[]全局数组 116
5.8 PHP的数组函式 117
5.8.1 统计数组元素个数 117
5.8.2 向数组中添加元素 117
5.8.3 获取数组中一个元素 118
5.8.4 删除数组中重複元素 118
5.8.5 获取数组中指定元素的键名 119
5.9 实战 120
5.9.1 获取上传档案的数据 120
5.9.2 投票管理系统 120
5.9.3 获取用户注册信息 121
5.9.4 车牌摇号 122
5.9.5 向数组中添加元素 122
5.10 小结 122
5.11 学习成果检验 123
第6章 日期和时间的管理 124
视频讲解43分钟
6.1 PHP的时间概念 125
6.1.1 在php.ini档案中设定时区 125
6.1.2 通过date_default_timezone_set函式设定
时区 125
6.2 时间戳 126
6.2.1 什幺是时间戳 126
6.2.2 UNIX时间戳 126
6.2.3 获取指定日期的时间戳 127
6.2.4 获取当前时间戳 127
6.2.5 将英文文本的日期时间描述解析为UNIX
时间戳 128
6.3 PHP日期和时间的处理 129
6.3.1 格式化日期和时间 129
6.3.2 获取日期和时间信息 130
6.3.3 获取本地化的日期和时间 131
6.3.4 检验日期和时间的有效性 133
6.4 实战 134
6.4.1 实现倒计时的功能 134
6.4.2 计算线上考试用时和剩余时间 135
6.4.3 网页闹钟 138
6.4.4 检验日期和时间的有效性 138
6.4.5 获取指定时间的UNIX时间戳 139
6.5 小结 139
6.6 学习成果检验 139
第7章 程式调试与异常处理 140
视频讲解72分钟
7.1 程式基本调试流程 141
7.2 PHP中的错误类型 141
7.2.1 语法错误 142
7.2.2 语义错误 143
7.2.3 逻辑错误 143
7.2.4 注释错误 144
7.2.5 运行错误 144
7.3 PHP错误的调试 145
7.3.1 PHP的错误报告 145
7.3.2 启动错误报告 145
7.3.3 使用print语句调试程式 145
7.3.4 套用@前缀字元禁止PHP脚本错误
提示 146
7.3.5 使用错误处理器记录日誌 147
7.4 SQL错误的调试 148
7.4.1 PHP与MySQL连线错误 148
7.4.2 SQL语句错误 148
7.5 实战 150
7.5.1 运行缺少第三方组件的程式 150
7.5.2 通过readfile()函式访问远程档案 150
7.5.3 解决资料库乱码问题 151
7.5.4 封装异常处理类 152
7.5.5 解决程式的语法错误 153
7.6 小结 153
7.7 学习成果检验 154
第8章 综合实例(一)--线上论坛 155
视频讲解25分钟
8.1 系统设计思路 156
8.1.1 程式业务流程 156
8.1.2 系统预览 156
8.2 资料库设计 157
8.2.1 资料库概要说明 157
8.2.2 资料库概念设计 157
8.2.3 资料库逻辑设计 158
8.3 用户注册模组设计 159
8.3.1 用户注册模组概述 159
8.3.2 JavaScript脚本和include()包含语句 160
8.3.3 用户注册模组的实现过程 161
8.4 用户登录模组设计 163
8.4.1 用户登录模组概述 163
8.4.2 通过JavaScript脚本判断用户名和密码
是否为空 163
8.4.3 用户登录模组的实现过程 164
8.5 帖子分类管理模组设计 165
8.5.1 帖子分类管理模组概述 165
8.5.2 使用SQL语句查询数据技术 165
8.5.3 帖子分类管理模组的实现过程 166
8.6 发帖模组设计 168
8.6.1 发帖模组概述 168
8.6.2 while循环语句技术 168
8.6.3 发帖模组的实现过程 169
8.7 回帖模组设计 170
8.7.1 回帖模组概述 170
8.7.2 mysql函式处理技术 170
8.7.3 回帖模组的实现过程 170
8.8 后台管理模组设计 172
8.8.1 后台管理模组概述 172
8.8.2 URL编码和SWITCH框架技术 172
8.8.3 后台主页的实现过程 172
8.8.4 栏目管理模组的实现过程 174
8.9 小结 176
第2篇 初级开发
第9章 MySQL资料库 178
视频讲解37分钟
9.1 MySQL简介 179
9.1.1 什幺是MySQL 179
9.1.2 MySQL的特点 179
9.1.3 MySQL 5支持的特性 180
9.2 MySQL下载 180
9.3 MySQL的环境安装 182
9.4 启动、连线、断开和停止MySQL
伺服器 186
9.4.1 启动MySQL伺服器 186
9.4.2 连线和断开MySQL伺服器 186
9.4.3 停止MySQL伺服器 187
9.5 phpMyAdmin图形化管理工具 188
9.5.1 资料库操作管理 188
9.5.2 管理数据表 189
9.5.3 管理数据记录 190
9.5.4 导入导出数据 193
9.5.5 phpMyAdmin设定编码格式 194
9.5.6 phpMyAdmin添加伺服器新用户 194
9.5.7 phpMyAdmin中重置MySQL伺服器登录
密码 195
9.6 小结 196
9.7 学习成果检验 196
第10章 MySQL存储引擎与运算符 197
视频讲解33分钟
10.1 MySQL存储引擎 198
10.1.1 什幺是MySQL存储引擎 198
10.1.2 查询MySQL中支持的存储引擎 198
10.1.3 InnoDB存储引擎 199
10.1.4 MyISAM存储引擎 200
10.1.5 MEMORY存储引擎 200
10.1.6 如何选择存储引擎 201
10.1.7 设定数据表的存储引擎 202
10.2 MySQL数据类型 203
10.2.1 数字类型 203
10.2.2 字元串类型 204
10.2.3 日期和时间数据类型 205
10.3 MySQL运算符 205
10.3.1 算术运算符 206
10.3.2 比较运算符 206
10.3.3 逻辑运算符 209
10.3.4 位运算符 211
10.3.5 运算符的优先权 211
10.4 实战 212
10.4.1 查看存储引擎和创建资料库 212
10.4.2 位运算的比较 212
10.4.3 逻辑运算的使用 213
10.4.4 浮点数类型 213
10.5 小结 213
10.6 学习成果检验 213
第11章 MySQL函式之选 214
视频讲解26分钟
11.1 MySQL函式 215
11.2 数学函式 215
11.2.1 ABS(x)函式 216
11.2.2 FLOOR(x)函式 216
11.2.3 RAND()函式 217
11.2.4 PI()函式 217
11.2.5 TRUNCATE(x,y)函式 217
11.2.6 ROUND(x)函式和ROUND(x,y)函式 217
11.2.7 SQRT(x)函式 218
11.3 字元串函式 218
11.3.1 INSERT(s1,x,len,s2)函式 219
11.3.2 UPPER(s)、UCASE(s)函式 219
11.3.3 LEFT(s,n)函式 220
11.3.4 RTRIM(s)函式 220
11.3.5 SUBSTRING(s,n,len)函式 220
11.3.6 REVERSE(s)函式 220
11.3.7 FIELD(s,s1,s2,...)函式 221
11.4 日期和时间函式 221
11.4.1 CURDATE()函式和CURRENT_DATE()
函式 222
11.4.2 CURTIME()函式和CURRENT_TIME()
函式 222
11.4.3 NOW()函式 223
11.4.4 DATEDIFF(d1,d2)函式 223
11.4.5 ADDDATE(d,n)函式 223
11.4.6 ADDDATE(d,INTERVAL expr type)
函式 224
11.4.7 SUBDATE(d,n)函式 224
11.5 条件判断函式 224
11.6 系统信息函式 225
11.6.1 获取MySQL版本号、连线数和资料库名
的函式 225
11.6.2 获取用户名的函式 225
11.6.3 获取字元串的字元集和排序方式的
函式 226
11.7 加密函式 226
11.7.1 加密函式PASSWORD(str) 227
11.7.2 加密函式MD5(str) 227
11.8 其他函式 227
11.8.1 格式化函式FORMAT(x,n) 228
11.8.2 改变字元集的函式 228
11.8.3 改变栏位数据类型的函式 229
11.9 实战 229
11.9.1 字元串函式的使用 229
11.9.2 查看当前资料库版本号 229
11.9.3 生成3个1~100之间的随机整数 230
11.9.4 数字函式的使用 230
11.9.5 加密函式的使用 230
11.10 小结 230
11.11 学习成果检验 231
第12章 MySQL基本操作 232
视频讲解37分钟
12.1 MySQL资料库操作 233
12.1.1 创建资料库CREATE DATABASE 233
12.1.2 查看资料库SHOW DATABASES 233
12.1.3 选择资料库USE DATABASE 233
12.1.4 删除资料库DROP DATABASE 234
12.2 MySQL数据表操作 234
12.2.1 创建数据表CREATE TABLE 234
12.2.2 查看錶结构SHOW COLUMNS
或DESCRIBE 235
12.2.3 修改表结构ALTER TABLE 236
12.2.4 重命名表RENAME TABLE 237
12.2.5 删除表DROP TABLE 237
12.3 MySQL语句操作 237
12.3.1 插入记录INSERT 238
12.3.2 查询资料库记录SELECT 238
12.3.3 修改记录UPDATE 241
12.3.4 删除记录DELETE 241
12.4 实战 242
12.4.1 操作teacher表 242
12.4.2 登录资料库系统 242
12.4.3 读取MySQL资料库中数据
(PHP语言) 243
12.4.4 备份和恢复MySQL资料库
(Java语言) 244
12.4.5 查看錶详细结构语句SHOW CREATE
TABLE 245
12.5 小结 245
12.6 学习成果检验 246
第13章 MySQL数据查询 247
视频讲解60分钟
13.1 基本查询语句 248
13.2 单表查询 248
13.2.1 查询所有栏位 249
13.2.2 查询指定栏位 249
13.2.3 查询指定数据 249
13.2.4 带IN关键字的查询 250
13.2.5 带BETWEEN AND的範围查询 250
13.2.6 带LIKE的字元匹配查询 250
13.2.7 用IS NULL关键字查询空值 251
13.2.8 带AND的多条件查询 251
13.2.9 带OR的多条件查询 252
13.2.10 用DISTINCT关键字去除结果中的
重複行 252
13.2.11 用ORDER BY关键字对查询结果
排序 252
13.2.12 用GROUP BY关键字分组查询 253
13.2.13 用LIMIT限制查询结果的数量 254
13.3 聚合函式查询 254
13.3.1 COUNT()函式 255
13.3.2 SUM()函式 255
13.3.3 AVG()函式 255
13.3.4 MAX()函式 255
13.3.5 MIN()函式 256
13.4 连线查询 256
13.4.1 内连线查询 256
13.4.2 外连线查询 257
13.4.3 複合条件连线查询 258
13.5 子查询 258
13.5.1 带IN关键字的子查询 258
13.5.2 带比较运算符的子查询 259
13.5.3 带EXISTS关键字的子查询 260
13.5.4 带ANY关键字的子查询 260
13.5.5 带ALL关键字的子查询 261
13.6 合併查询结果 262
13.7 定义表和栏位的别名 263
13.7.1 为表取别名 263
13.7.2 为栏位取别名 263
13.8 使用正则表达式查询 263
13.8.1 匹配指定字元中的任意一个 264
13.8.2 使用""和"+"来匹配多个字元 265
13.9 实战 265
13.9.1 使用聚合函式SUM对学生成绩进行
汇总 265
13.9.2 查询大于指定条件的记录 266
13.9.3 使用比较运算符进行子查询 267
13.9.4 GROUP BY与HAVING 关键字 267
13.9.5 用符号"."来替代字元串中的任意一个
字元 267
13.10 小结 268
13.11 学习成果检验 268
第14章 综合实例(二)--留言本 269
视频讲解35分钟
14.1 留言本概述 270
14.2 系统分析流程 270
14.2.1 程式业务流程 270
14.2.2 系统预览 270
14.3 资料库设计 271
14.3.1 资料库概要说明 271
14.3.2 资料库概念设计 272
14.3.3 资料库逻辑设计 272
14.4 公共模组设计 274
14.4.1 资料库连线档案 274
14.4.2 将文本中的字元转换为HTML
标识符 274
14.4.3 JavaScript脚本 275
14.5 首页模组设计 276
14.5.1 首页设计概述 276
14.5.2 switch和include语句 277
14.5.3 首页实现过程 278
14.6 用户注册模组设计 279
14.6.1 用户注册模组概述 279
14.6.2 JavaScript脚本验证表单元素 279
14.6.3 用户注册模组实现过程 281
14.7 添加留言模组设计 282
14.7.1 添加留言模组概述 282
14.7.2 mysql_query()函式执行SQL语句 282
14.7.3 添加留言模组实现过程 282
14.8 查看留言模组设计 283
14.8.1 查看留言模组概述 283
14.8.2 验证数据类型与取整 283
14.8.3 查看留言模组实现过程 284
14.9 编辑留言模组设计 286
14.9.1 编辑留言模组概述 286
14.9.2 JavaScript脚本控制弹出对话框 286
14.9.3 编辑留言模组实现过程 287
14.10 查询留言模组设计 287
14.10.1 查询留言模组概述 287
14.10.2 通过mysql_fetch_array()函式返回
结果集 288
14.10.3 查询留言模组实现过程 288
14.11 版主模组设计 289
14.11.1 版主模组概述 289
14.11.2 验证登录用户是否是版主 289
14.11.3 版主管理模组实现过程 290
14.12 小结 291
第3篇 中级开发
第15章 MySQL存储过程和函式 294
视频讲解32分钟
15.1 创建存储过程和存储函式 295
15.1.1 创建存储过程 295
15.1.2 创建存储函式 296
15.1.3 变数的套用 297
15.1.4 游标的运用 299
15.2 流程控制语句 300
15.2.1 IF语句 300
15.2.2 CASE语句 301
15.2.3 WHILE循环语句 302
15.2.4 LOOP循环语句 303
15.2.5 REPEAT循环语句 304
15.3 调用存储过程和存储函式 305
15.3.1 调用存储过程 305
15.3.2 调用存储函式 305
15.4 查看存储过程和函式 305
15.4.1 SHOW STATUS语句 305
15.4.2 SHOW CREATE语句 306
15.5 修改存储过程和函式 306
15.6 删除存储过程和函式 307
15.7 捕获存储过程中的错误 308
15.7.1 定义条件 308
15.7.2 定义处理程式 308
15.8 实战 309
15.8.1 使用存储过程实现用户注册(PHP) 309
15.8.2 修改存储函式 310
15.8.3 从information_schema.Routines表中
查看存储过程 310
15.9 小结 311
15.10 学习成果检验 311
第16章 MySQL事务 312
视频讲解14分钟
16.1 MySQL事务概述 313
16.1.1 原子性 313
16.1.2 一致性 314
16.1.3 孤立性 314
16.1.4 持久性 314
16.2 MySQL事务的创建与存在周期 314
16.2.1 初始化事务 315
16.2.2 创建事务 315
16.2.3 套用SELECT语句查看数据是否被
正确输入 316
16.2.4 提交事务 316
16.2.5 撤销事务(事务回滚) 316
16.2.6 事务的存在周期 317
16.3 MySQL行为 317
16.3.1 自动提交 317
16.3.2 事务的孤立级 318
16.3.3 修改事务的孤立级 319
16.4 事务和性能 319
16.4.1 套用小事务 319
16.4.2 选择合适的孤立级 319
16.4.3 死锁的概念与避免 320
16.5 MySQL伪事务 320
16.5.1 用表锁定代替事务 320
16.5.2 套用表锁实现伪事务 322
16.6 实战 322
16.6.1 使用事务处理技术实现银行的安全
转账(PHP) 322
16.6.2 批处理中使用事务(Java) 323
16.7 小结 324
16.8 学习成果检验 324
第17章 触发器 325
视频讲解21分钟
17.1 MySQL触发器 326
17.1.1 创建MySQL触发器 326
17.1.2 创建具有多个执行语句的触发器 327
17.2 查看触发器 328
17.2.1 SHOW TRIGGERS 328
17.2.2 查看 triggers表中触发器信息 328
17.3 套用触发器 329
17.4 删除触发器 330
17.5 实战 330
17.5.1 创建一个由INSERT触发的触发器 330
17.5.2 获取资料库中的触发器 331
17.5.3 使用DROP TIRGGER删除触发器 332
17.6 小结 332
17.7 学习成果检验 332
第18章 综合实例(三)--物流管理
系统 333
视频讲解83分钟
18.1 物流管理系统概述 334
18.2 系统分析流程 334
18.2.1 需求分析 334
18.2.2 可行性分析 334
18.3 系统设计流程 335
18.3.1 系统目标 335
18.3.2 系统功能结构 335
18.3.3 系统预览 336
18.4 资料库设计 337
18.4.1 资料库分析 337
18.4.2 资料库概念设计 337
18.4.3 创建资料库及数据表 339
18.5 网站首页设计 340
18.5.1 网站首页概述 340
18.5.2 网站首页设计技术 341
18.5.3 网站首页的实现过程 341
18.6 车源信息查询模组设计 342
18.6.1 车源信息查询模组概述 342
18.6.2 模糊查询技术 342
18.6.3 车源信息查询模组的实现过程 344
18.7 发货单管理模组设计 344
18.7.1 发货单管理模组概述 344
18.7.2 发货单编号生成技术 345
18.7.3 发货单填单的实现过程 347
18.7.4 发货单查询的实现过程 348
18.7.5 发货单列印的实现过程 350
18.8 回执单验收管理模组设计 350
18.8.1 回执单模组概述 350
18.8.2 MySQL函式馆函式套用技术 351
18.8.3 回执单验收模组的实现过程 352
18.9 基础信息管理模组设计 353
18.9.1 基础信息管理模组概述 353
18.9.2 面向对象封装密码修改类 353
18.9.3 客户信息管理的实现过程 355
18.9.4 车源信息管理的实现过程 356
18.10 小结 358
第4篇 进阶提高
第19章 ADODB类库 360
视频讲解64分钟
19.1 ADODB类库是什幺 361
19.2 ADODB支持的资料库 361
19.3 ADODB下载与安装 362
19.4 ADODB类库 363
19.4.1 连线资料库函式 363
19.4.2 运算元据库函式 365
19.4.3 控制结果集存取方式 369
19.4.4 操作结果集函式 369
19.4.5 处理事务函式 372
19.4.6 生成HTML表格函式 372
19.4.7 生成下拉列表框函式 372
19.4.8 实现分页功能函式 373
19.4.9 错误处理函式 374
19.5 实战 375
19.5.1 实现分页 375
19.5.2 处理事务 376
19.5.3 快取函式+ADODB动态生成静态页 377
19.5.4 ADODB控制结果集的存取方法 381
19.6 小结 383
19.7 学习成果检验 383
第20章 资料库编程技术 384
视频讲解136分钟
20.1 PHP访问MySQL资料库的一般
步骤 385
20.2 PHP操作MySQL资料库的方法 386
20.2.1 使用mysql_connect()函式连线MySQL
伺服器 386
20.2.2 使用mysql_select_db()函式选择资料库
档案 387
20.2.3 使用mysql_query()函式执行SQL语句 387
20.2.4 套用mysql_fetch_array()函式从数组结果
集中获取信息 389
20.2.5 套用mysql_fetch_object()函式从结果集中
获取一行作为对象 390
20.2.6 套用mysql_fetch_row()函式逐行获取结果
集中的每条记录 391
20.2.7 套用mysql_num_rows()函式获取查询
结果集中的记录数 393
20.2.8 关闭连线 394
20.3 管理MySQL资料库中的数据 395
20.3.1 套用insert命令动态添加公告信息 395
20.3.2 套用select命令查询公告信息 397
20.3.3 解决截取公告主题乱码问题 398
20.3.4 分页显示公告信息 400
20.3.5 套用update命令动态编辑公告信息 402
20.3.6 套用delete命令动态删除公告信息 403
20.4 PHP操作MySQL事务 404
20.5 PHP操作MySQL存储过程 406
20.6 实战 407
20.6.1 输入页码跳转到指定页 407
20.6.2 图片的分栏分页显示 409
20.6.3 查询图书信息表中的前3条记录 412
20.6.4 对查询结果进行降序排列输出 413
20.7 小结 414
20.8 学习成果检验 414
第21章 PDO资料库抽象层 415
视频讲解60分钟
21.1 什幺是PDO 416
21.1.1 PDO概述 416
21.1.2 PDO特点 416
21.1.3 安装PDO 416
21.2 PDO连线资料库 417
21.2.1 PDO构造函式 417
21.2.2 DSN详解 417
21.3 PDO中执行SQL语句 418
21.3.1 exec()方法 418
21.3.2 query()方法 418
21.3.3 预处理语句--prepare()和execute() 418
21.4 PDO中获取结果集 418
21.4.1 fetch()方法 418
21.4.2 fetchAll()方法 419
21.4.3 fetchColumn()方法 421
21.5 PDO中捕获SQL语句中的错误 422
21.5.1 使用默认模式--PDO::ERRMODE_
SILENT 422
21.5.2 使用警告模式--PDO::ERRMODE_
WARNING 422
21.5.3 使用异常模式--PDO::ERRMODE_
EXCEPTION 424
21.6 PDO中的错误处理 425
21.6.1 errorCode()方法 425
21.6.2 errorInfo()方法 426
21.7 PDO中的事务处理 427
21.8 PDO中的存储过程 428
21.9 实战 430
21.9.1 通过PDO更新资料库中数据 430
21.9.2 明日书店会员注册 431
21.9.3 添加留言信息 432
21.9.4 查询留言内容 433
21.10 小结 434
21.11 学习成果检验 434
第22章 综合实例(四)--BCTY365
网上社区 435
视频讲解138分钟
22.1 BCTY365网上社区概述 436
22.1.1 系统功能结构流程 436
22.1.2 系统预览 437
22.2 资料库设计 438
22.2.1 资料库概要说明 438
22.2.2 资料库概念设计 438
22.2.3 资料库逻辑设计 439
22.3 前台首页设计 441
22.3.1 前台首页概述 441
22.3.2 公告信息的滚动输出技术 442
22.3.3 前台首页的实现过程 444
22.4 注册模组设计 445
22.4.1 注册模组概述 445
22.4.2 通过JavaScript脚本验证表单元素 445
22.4.3 注册模组的实现过程 447
22.5 技术支持模组设计 448
22.5.1 技术支持模组概述 448
22.5.2 分页技术 448
22.5.3 常见问题模组的实现过程 450
22.5.4 客户反馈模组的实现过程 450
22.6 线上订购模组设计 451
22.6.1 线上订购模组概述 451
22.6.2 订单的预览及列印技术 452
22.6.3 购物车的实现过程 453
22.6.4 商品订单的实现过程 456
22.7 社区论坛模组设计 457
22.7.1 社区论坛模组概述 457
22.7.2 页面跳转技术 457
22.7.3 论坛分类的实现过程 458
22.7.4 论坛帖子浏览的实现过程 460
22.7.5 论坛帖子发布的实现过程 462
22.7.6 论坛帖子回复的实现过程 464
22.8 后台首页设计 465
22.8.1 后台首页概述 465
22.8.2 switch框架技术 465
22.8.3 后台首页的实现过程 467
22.9 编程词典管理模组设计 468
22.9.1 编程词典管理模组概述 468
22.9.2 图片上传技术 468
22.9.3 添加编程词典模组的实现过程 469
22.9.4 编辑编程词典模组的实现过程 471
22.10 软体升级管理模组设计 472
22.10.1 软体升级管理模组概述 472
22.10.2 动态输出下拉列表框的值 473
22.10.3 软体升级包上传的实现过程 474
22.10.4 软体升级包删除的实现过程 475
22.11 线上支付技术专题 475
22.12 小结 478
第5篇 高级套用
第23章 Smarty模板技术 480
视频讲解70分钟
23.1 Smarty简介 481
23.1.1 Smarty模板引擎 481
23.1.2 Smarty与MVC 482
23.1.3 Smarty特点 482
23.2 Smarty的安装配置 482
23.2.1 Smarty下载和安装 482
23.2.2 Smarty配置 483
23.2.3 第一个Smarty程式 484
23.3 Smarty模板设计 485
23.3.1 Smarty模板档案 485
23.3.2 注释 485
23.3.3 变数 486
23.3.4 修饰变数 488
23.3.5 流程控制 489
23.4 Smarty程式设计 492
23.4.1 Smarty中的常用方法 492
23.4.2 Smarty的配置变数 493
23.5 实战 494
23.5.1 Smarty模板中日期、时间的格式化
输出 494
23.5.2 Smarty模板中的页面设计 494
23.5.3 网站公告 495
23.5.4 Smarty模板中套用正则表达式 497
23.5.5 if语句判断当前用户许可权 499
23.6 小结 500
23.7 学习成果检验 500
第24章 ThinkPHP框架 501
视频讲解153分钟
24.1 ThinkPHP简介 502
24.1.1 ThinkPHP框架的特点 502
24.1.2 环境要求 502
24.1.3 下载ThinkPHP框架 502
24.2 ThinkPHP架构 504
24.2.1 ThinkPHP的目录结构 504
24.2.2 自动生成目录 505
24.2.3 项目目录部署方案 505
24.2.4 命名规范 506
24.2.5 项目构建流程 507
24.3 ThinkPHP的配置 508
24.3.1 配置格式 509
24.3.2 调试配置 509
24.4 ThinkPHP的控制器 510
24.4.1 控制器 510
24.4.2 跨模组调用 511
24.5 ThinkPHP的模型 514
24.5.1 模型的命名 514
24.5.2 实例化模型 515
24.5.3 属性访问 518
24.5.4 连线资料库 518
24.5.5 创建数据 521
24.5.6 连贯操作 522
24.5.7 CURD操作 523
24.6 ThinkPHP的视图 528
24.6.1 模板定义 528
24.6.2 模板赋值 528
24.6.3 指定模板档案 529
24.6.4 特殊字元串替换 530
24.7 内置ThinkTemplate模板引擎 533
24.8 小结 538
24.9 学习成果检验 538
第25章 Zend Framework框架 539
视频讲解39分钟
25.1 Zend Framework的MVC介绍 540
25.1.1 Zend Framework概述 540
25.1.2 Zend Framework常用组件 540
25.1.3 MVC原理 540
25.2 Zend Framework的MVC环境
搭建 541
25.2.1 环境配置 541
25.2.2 框架结构 542
25.2.3 创建流程 542
25.2.4 Zend Framework的编码标準 545
25.3 Zend_Auth身份认证 546
25.3.1 Zend_Auth适配器 546
25.3.2 身份持久认证 547
25.3.3 资料库认证 550
25.4 Zend_Db资料库操作 551
25.4.1 Zend_Db_Adapter资料库操作 551
25.4.2 Zend_Db_Table资料库操作 551
25.4.3 数据表类 552
25.5 Zend_File档案控制 556
25.5.1 使用Zend_File_Transfer_Adapter_Http
实现POST方式档案上传 556
25.5.2 对上传档案的合理性验证 558
25.5.3 为上传增加过滤规则 558
25.6 Zend_Layout网站布局 559
25.6.1 Zend_Layout概述 559
25.6.2 Zend_Layout使用方法 559
25.6.3 Zend_Layout套用实例 560
25.7 Zend_Paginator分页 562
25.7.1 Zend_Paginator简介 562
25.7.2 Zend_Paginator分页方法 562
25.7.3 Zend_Paginator分页套用 563
25.8 实战 566
25.8.1 Zend_Paginator实现数据分页显示 566
25.8.2 Zend Framework用户身份验证 567
25.8.3 Zend_Mail传送邮件 569
25.8.4 Zend_Form製作用户注册表单 571
25.9 小结 573
25.10 学习成果检验 573
第26章 综合实例(五)--电子商务
网站 574
视频讲解53分钟
26.1 电子商务网站概述 575
26.2 系统分析 575
26.2.1 系统目标 575
26.2.2 功能流程结构 575
26.2.3 程式预览 575
26.3 资料库设计 577
26.3.1 资料库分析 577
26.3.2 创建资料库和数据表 578
26.4 公共档案设计 579
26.4.1 资料库连线、管理和分页类档案 579
26.4.2 Smarty模板配置类档案 582
26.4.3 执行类的实例化档案 582
26.5 前台首页设计 582
26.5.1 前台首页概述 582
26.5.2 Smarty模板页中的框架技术 583
26.5.3 前台首页实现过程 583
26.6 登录模组设计 585
26.6.1 登录模组概述 585
26.6.2 Ajax无刷新验证技术 585
26.6.3 用户注册 587
26.6.4 用户登录 588
26.6.5 找回密码 590
26.7 会员信息模组设计 594
26.7.1 会员信息模组概述 594
26.7.2 会员信息查询技术 595
26.7.3 会员中心 595
26.7.4 安全退出 597
26.8 商品展示模组设计 598
26.8.1 商品展示模组概述 598
26.8.2 分页技术 598
26.8.3 商品展示模组的实现过程 599
26.9 购物车模组设计 600
26.9.1 购物车模组概述 600
26.9.2 购物车中商品添加技术 600
26.9.3 购物车展示 602
26.9.4 更改商品数量 604
26.9.5 删除商品 604
26.9.6 保存购物车 606
26.10 收银台模组设计 608
26.10.1 收银台模组概述 608
26.10.2 PDO操作MySQL资料库技术 608
26.10.3 显示订单 609
26.10.4 填写订单 609
26.10.5 处理订单 610
26.11 后台首页设计 611
26.11.1 后台首页概述 611
26.11.2 后台网页布局技术 611
26.11.3 后台首页实现过程 613
26.12 小结 614
第6篇 项目实战
第27章 易查供求信息网 616
视频讲解125分钟
27.1 易查供求信息网概述 617
27.2 系统分析 617
27.2.1 需求分析 617
27.2.2 可行性分析 617
27.3 系统设计 618
27.3.1 系统目标 618
27.3.2 系统功能结构 619
27.3.3 系统预览 620
27.3.4 资料夹组织结构 621
27.4 资料库设计 622
27.4.1 资料库分析 622
27.4.2 资料库概念设计 622
27.4.3 创建资料库及数据表 623
27.5 前台首页设计 624
27.5.1 前台首页概述 624
27.5.2 超连结技术 625
27.5.3 前台首页的实现过程 626
27.6 免费供求信息发布模组设计 627
27.6.1 免费供求信息发布模组概述 627
27.6.2 MySQL资料库连线技术 628
27.6.3 免费供求信息发布模组的实现过程 630
27.7 信息检索模组设计 631
27.7.1 信息检索模组概述 631
27.7.2 模糊查询技术 632
27.7.3 信息检索模组的实现过程 633
27.8 后台首页设计 636
27.8.1 后台首页概述 636
27.8.2 frame框架技术 637
27.8.3 后台首页的实现过程 639
27.9 付费供求信息发布模组设计 640
27.9.1 付费供求信息发布模组概述 640
27.9.2 计算供求信息的有效时间 640
27.9.3 付费供求信息发布模组的实现过程 640
27.10 付费信息管理模组设计 642
27.10.1 付费信息管理模组概述 642
27.10.2 数据的更新和删除技术 643
27.10.3 付费信息显示的实现过程 644
27.10.4 付费信息审核的实现过程 646
27.10.5 付费信息删除的实现过程 647
27.10.6 单元测试 648
27.11 小结 649
第28章 图书馆管理系统 650
视频讲解137分钟
28.1 图书馆管理系统概述 651
28.2 需求分析 651
28.3 系统设计 651
28.3.1 系统目标 651
28.3.2 系统功能结构 652
28.3.3 系统流程图 652
28.3.4 系统预览 652
28.3.5 资料夹组织结构 654
28.4 资料库设计 654
28.4.1 资料库分析 654
28.4.2 资料库概念设计 654
28.4.3 创建资料库及数据表 655
28.5 首页设计 656
28.5.1 首页概述 656
28.5.2 许可权设定技术 657
28.5.3 首页的实现过程 658
28.6 管理员模组设计 658
28.6.1 管理员模组概述 658
28.6.2 控制档案的访问许可权 659
28.6.3 系统登录页面的实现过程 660
28.6.4 查看管理员列表页面的实现过程 661
28.6.5 添加管理员信息页面的实现过程 662
28.6.6 设定管理员许可权页面的实现过程 663
28.6.7 删除管理员的实现过程 665
28.7 图书档案管理模组设计 665
28.7.1 图书档案管理模组概述 665
28.7.2 图书档案管理中的多表查询技术 666
28.7.3 查看图书信息列表页面的实现过程 666
28.7.4 添加图书信息页面的实现过程 667
28.7.5 修改图书信息页面的实现过程 668
28.7.6 删除图书信息的实现过程 670
28.8 图书借还模组设计 670
28.8.1 图书借还模组概述 670
28.8.2 图书借还模组中的多表查询技术 670
28.8.3 图书借阅页面的实现过程 671
28.8.4 图书续借页面的实现过程 673
28.8.5 图书归还页面的实现过程 675
28.8.6 图书借阅查询页面的实现过程 676
28.9 小结 678