第3章 PHP操作数据库教学设计.docx
- 文档编号:9267158
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:383.19KB
第3章 PHP操作数据库教学设计.docx
《第3章 PHP操作数据库教学设计.docx》由会员分享,可在线阅读,更多相关《第3章 PHP操作数据库教学设计.docx(20页珍藏版)》请在冰豆网上搜索。
第3章PHP操作数据库教学设计
桂林理工大学南宁分校
《PHP网站开发实例教程》
教学设计
课程名称PHP网站开发实例教程
授课年级:
2014年级
授课学期:
2015-2016学年第一学期
教师姓名:
罗锦光
2015年8月31日
课题名称
第3章PHP操作数据库
计划课时
按教学计划进行相应分配
内容分析
任何一种编程语言都需要对数据进行处理,PHP语言也不例外。
PHP所支持的数据库类型较多,在这些数据库中,由于MySQL的跨平台性、可靠性、访问效率较高以及免费开源等特点,备受PHP开发者的青睐,一直以来被认为是PHP的“最佳搭档”。
本章将通过开发企业员工管理系统的案例,对PHP如何操作MySQL数据库进行详细讲解。
教学目标
●掌握PHP访问数据库的基本步骤,能够对访问过程进行描述;
●掌握mysql扩展,会使用PHP对MySQL数据库进行增删改查操作;
●掌握基础业务逻辑,熟练使用PHP操作MySQL获取指定数据;
重点及措施
教学重点:
处理结果集、排序功能、搜索功能、数据分页、数据添加与修改。
措施:
通过上机操作加强学习和补充案例进行巩固。
难点及措施
教学难点:
排序功能、搜索功能、数据分页、数据添加与修改。
措施:
通过上机操作加强学习和补充案例进行巩固。
教学方式
教学采用教师课堂讲授为主,使用教学PPT讲解。
教
学
过
程
第一课时
(【案例11】展示员工信息)
复习上节课内容
在讲解本节内容前,抛出以下问题让学生回答,以复习前两章的知识。
1、请简述PHP、Apache和MySQL的程序开发中的作用。
答案:
PHP用于处理服务器端脚本,Apache用于提供Web访问服务,而MySQL是用于管理数据的。
对一个网站而言,数据是非常宝贵的,如电子商务网站。
2、请说出MySQL数据库中对数据表的基本操作及命令。
答案:
●增:
insertinto<表名>[(<字段名1>[,..<字段名n>])]values(值1)[,(值n)];
●删:
deletefrom表名where表达式;
●改:
update表名set字段=新值,…where条件;
●查:
select<字段1,字段2,...>from<表名>where<表达式>;
说明:
教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。
本课时内容学习
✧案例描述
在员工管理系统中,展示员工基本信息是十分重要的功能。
该功能可以帮助公司更好的管理员工,例如可以通过查看员工基本信息来确定员工的工龄,也可以快速查找某个员工,得知其联系方式、家庭住址等,接下来我们就来开发展示员工信息功能。
✧案例讲解
Ø案例分析
•创建员工信息表,该表用于保存员工的详细信息。
•向员工表中添加数据,用于测试员工信息展示功能。
•为了让PHP能够操作mysql数据库,因此在php.ini配置文件中开启mysql扩展。
•通过mysql扩展提供的mysql_connect()函数来连接数据库。
•设置字符集和选择数据库,用于指定字符集和要操作的数据库。
•编写SQL查询语句,并使用mysql扩展提供的mysql_query()函数执行,取得结果集。
•使用mysql_fetch_assoc()函数处理结果集,然后保存到数组中。
•创建视图文件,将处理后的员工信息显示到页面中。
Ø案例实现
教师带领学生分步骤地进行操作,并指出其中需要注意的事项。
说明:
在案例讲解的过程中,教师可适时停下来,让学生自行尝试。
小组之间可以协作讨论,教师巡视,对疑难问题进行解答。
✧知识点讲解
Ø总结知识点
教师和学生一起总结在案例中涉及到的知识点,主要包括“连接和选择数据库”、“执行SQL语句”、“处理结果集”等。
教师根据学生学习情况补充除案例以外的知识点“数据库扩展”和“释放资源”,同时培养学生的良好学习习惯,一起查看PHP手册学习指导。
Ø讲解“数据库扩展”
(1)、教师展示PPT对不同“数据库扩展”进行讲解,并指出它们的不同。
(2)、教师使用phpinfo()函数查看开启不同“数据库扩展”成功的情况。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“连接和选择数据库”
(1)、教师通过代码对“连接和选择数据库”的使用进行演示,同时讲解注意事项。
(2)、教师展示PPT对“连接和选择数据库”的相关函数进行归纳总结。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“执行SQL语句”
(1)、教师通过代码演示“执行SQL语句”的使用。
(2)、教师展示PPT对“执行SQL语句”的函数进行讲解。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“处理结果集”
(1)、教师展示PPT对“处理结果集”的各个函数进行讲解。
(2)、教师通过代码对“处理结果集”的函数使用进行演示。
(3)、通过演示结果,让学生总结归纳各“处理结果集”函数的特点。
(4)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“释放资源”
(1)、教师展示PPT对“释放资源”的必要性进行讲解。
(2)、教师对“释放资源”进行代码演示,及提醒学生使用时的注意事项。
(3)、学生练习,教师巡视,对疑难问题进行解答。
✧阶段小结
Ø小结
重点:
连接和选择数据库、执行SQL语句、处理结果集。
Ø答疑
教师询问学生对于知识点还有什么不理解的地方。
针对学生不理解的知识点给与解释。
✧巩固练习
Ø巩固“展示员工信息”的制作
学完知识点后,让学生再制作一次“展示员工信息”。
以此使学生更熟练地掌握“数据库扩展”、“连接和选择数据库”、“执行SQL语句”、“处理结果集”、“释放资源”等知识点的使用。
Ø通过“补充案例”加强学习
教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。
✧布置作业
Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。
Ø预习3.2节【案例12】员工信息排序。
Ø复习前面学过的知识点和案例,加强巩固。
第二课时
(【案例12】员工信息排序)
复习上节课内容
在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。
1、请简述PHP中的数据库扩展及特点。
答案:
●mysql扩展:
是设计开发允许PHP应用与MySQL数据库交互的早期扩展,它提供了一个面向过程的接口,针对MySQL4.1.3或更早版本设计的。
因此,这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性。
缺点:
不安全。
●mysqli扩展:
是mysql扩展的增强版,可以用于使用MySQL4.1.3或更新版本中新的高级特性。
其特点为:
面向对象接口、prepared语句支持、多语句执行支持、事务支持、增强的调试能力、嵌入式服务支持、预处理方式完全解决了sql注入的问题。
不过其缺点就是只支持mysql数据库。
●PDO扩展:
是PHPDataObjects的缩写,是PHP应用中的一个数据库抽象层规范。
PDO提供了一个统一的API接口可以使得你的PHP应用不去关心具体要连接的数据库服务器系统类型。
可以在任何需要的时候无缝切换数据库服务器。
2、请简述mysql扩展中处理结果集的函数(至少3个)。
答案:
●mysql_fetch_row()函数:
从结果集中读取出一条数据,以索引数组的形式返回。
●mysql_fetch_assoc()函数:
从结果集中读取出一条数据,以关联数组的形式返回。
●mysql_fetch_array()函数:
将结果集中的数据分别以索引数组和关联数组的形式返回。
●mysql_fetch_object()函数:
将结果集中的数据以对象的形式返回。
说明:
教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。
本课时内容学习
✧案例描述
在录入员工信息数据时,员工的所属部门、入职时间等都是不可预料的。
因此员工信息表中的员工数据,展示到页面中是没有任何顺序可言的。
而大量的员工信息无序地排列显示,对用户查看员工信息很不方便。
为解决这类问题,就可以通过为特定字段添加排序功能来对员工信息进行排序显示。
接下来就在【案例11】的基础上,为员工信息表中的“所属部门”和“入职时间”添加排序功能,来实现员工信息的排序显示。
按照入职时间进行倒序排序,效果如下所示。
✧案例讲解
Ø案例分析
•向员工表添加更多测试数据,用来更直观的展现排序功能。
•修改视图文件,为员工表的“所属部门”及“入职时间”创建排序链接。
•定义合法排序字段,用于验证请求的排序字段是否为规定的排序字段。
•把参数信息与定义的合法排序字段进行匹配,完成排序的SQL语句。
•更新排序链接的排序状态值,完成正序排序和倒序排序的切换。
•判断是否需要排序,如果需要则组合orderby子句。
•创建视图文件,将处理后的员工信息显示到页面中。
Ø案例实现
教师带领学生分步骤地进行操作,并指出其中需要注意的事项。
说明:
在案例讲解的过程中,教师可适时停下来,让学生自行尝试。
小组之间可以协作讨论,教师巡视,对疑难问题进行解答。
✧知识点讲解
Ø总结知识点
教师和学生一起总结在案例中涉及到的知识点,主要包括“orderby”、“in_array()”、“isset()”等。
Ø讲解“order_by”
(1)、教师与学生互动:
让学生按身高从低到高的顺序进行排队,再按身高从高到低的顺序进行排队,从而引出使用“orderby”可以进行升序和降序排序的方式。
(2)、教师通过代码演示“orderby”的使用及注意事项。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“in_array()”
(1)、教师展示PPT对“in_array()”进行讲解。
(2)、教师通过代码对“in_array()”的使用进行演示。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“isset()”
(1)、教师针对“isset()”和“empty()”进行代码对比演示,让学生归纳各自特点。
(2)、教师展示PPT对“isset()”的使用以及注意事项进行详细讲解。
(3)、学生练习,教师巡视,对疑难问题进行解答。
✧阶段小结
Ø小结
重点:
orderby、isset()。
易错点:
注意“isset”与“empty()”的区别。
Ø答疑
教师询问学生对于知识点还有什么不理解的地方。
针对学生不理解的知识点给与解释。
✧巩固练习
Ø巩固“员工信息排序”的制作
学完知识点后,让学生再制作一次“员工信息排序”。
以此使学生更熟练地掌握“orderby”、“in_array()”、“isset()”等知识点的使用。
Ø通过“补充案例”加强学习
教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。
✧布置作业
Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。
Ø预习3.3节【案例13】员工信息搜索。
Ø复习前面学过的知识点和案例,加强巩固。
第三课时
(【案例13】员工信息搜索)
复习上节课内容
在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。
1、请简述排序的语法规则。
答案:
SELECT字段名1,字段名2,……
FROM表名
ORDERBY字段名1[ASC|DESC],字段名2[ASC|DESC]……
说明:
教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。
本课时内容学习
✧案例描述
员工排序功能可以帮助用户快速将员工数据按照一定规律排列显示,但是用户仍然需要面对大量的信息数据,这在进行员工筛选的时候非常不便。
因此还需要有一种快捷方法,可以根据某些条件,进行快速查询,仅把符合查询条件的数据从数据表中查询出来并输出到页面中。
这就是员工信息搜索功能,接下来我们在【案例11】的基础上,添加信息搜索功能。
通过向搜索框输入查询条件,例如搜索所有名字中带“小”字的员工数据,查询结果如下图所示。
✧案例讲解
Ø案例分析
•为视图页面添加搜索表单,用来传递搜索条件。
•获取查询条件,对表单提交的查询关键字进行安全处理,最后组成where条件。
•生成SQL语句,执行并获取结果集,处理结果集以便显示。
•载入html模板文件,显示最终搜索结果。
Ø案例实现
教师带领学生分步骤地进行操作,并指出其中需要注意的事项。
说明:
在案例讲解的过程中,教师可适时停下来,让学生自行尝试。
小组之间可以协作讨论,教师巡视,对疑难问题进行解答。
✧知识点讲解
Ø总结知识点
教师和学生一起总结在案例中涉及到的知识点,主要包括“like”、“mysql_real_escape_string()”等。
Ø讲解“mysql_real_escape_string()”
(1)、教师展示PPT对“mysql_real_escape_string()”转义SQL语句中的特殊字符进行讲解。
(2)、教师通过代码对未进行转义的SQL语句(含有特殊字符),与使用函数“mysql_real_escape_string()”进行转义后的SQL语句进行对比演示,让学生进行总结归纳。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“like”
(1)、教师与学生进行互动:
打开浏览器,输入“php”,看到如下效果。
从而引入使用“like”可以进行模糊搜索。
(2)、教师通过代码对“like”的使用进行演示。
(3)、学生练习,教师巡视,对疑难问题进行解答。
✧阶段小结
Ø小结
重点:
mysql_real_escape_string()、like。
Ø答疑
教师询问学生对于知识点还有什么不理解的地方。
针对学生不理解的知识点给与解释。
✧巩固练习
Ø巩固“员工信息搜索”的制作
学完知识点后,让学生再制作一次“员工信息搜索”。
以此使学生更熟练地掌握“mysql_real_escape_string()”、“like”等知识点的使用。
Ø通过“补充案例”加强学习
教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。
✧布置作业
Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。
Ø预习3.4节【案例14】分页显示信息和3.5节【案例15】添加与修改信息。
Ø复习前面学过的知识点和案例,加强巩固。
第四课时
(【案例14】分页显示信息、【案例15】添加与修改信息)
复习上节课内容
在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。
1、当用户输入的用户名中含有特殊字符(比如:
单引号)时,请问如何进行处理。
答案:
mysql_real_escape_string()
2、以emp_info表为例,从emp_info表中选取姓名中不包含“李”的所有人。
答案:
select*from`emp_info`where`e_name`notlike'%李%'
说明:
教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。
本课时内容学习
【案例14】分页显示信息
✧案例描述
公司的员工通常有数百人甚至上千人,这么多的员工数据一次性查询并显示的话,不仅效率不高而且没有意义。
为了提高查询效率和用户体验,常用的做法就是将数据进行分页显示,每一页显示指定数量的员工信息,当需要查看更多员工信息时,点击“下一页”进行翻页查看即可。
接下来就在【案例11】的基础上,进行分页显示信息功能的开发。
✧案例讲解
Ø案例分析
•修改showList.php文件,使用limit子句实现分页获取数据。
•创建页码链接,通过页码链接传递页码信息。
•计算最大分页数,并通过$_GET获取当前请求的页码信息。
•读取结果集,对数据进行处理,最后载入视图以显示数据。
•在视图页面中,添加创建好的页码链接。
Ø案例实现
教师带领学生分步骤地进行操作,并指出其中需要注意的事项。
说明:
在案例讲解的过程中,教师可适时停下来,让学生自行尝试。
小组之间可以协作讨论,教师巡视,对疑难问题进行解答。
✧知识点讲解
Ø总结知识点
教师和学生一起总结在案例中涉及到的知识点,主要包括“limit”。
教师根据学生学习情况补充除案例以外的知识点“分页链接生成函数”,同时培养学生的良好学习习惯,一起动手验证。
Ø讲解“limit”
(1)、教师对“limit”使用代码进行演示。
(2)、教师展示PPT对“limit”的使用进行归纳讲解。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“分页链接生成函数”
(1)、教师通过代码对“分页链接”的实现,与封装成函数的“分页链接”进行对比演示,讲解各自的特点。
(2)、教师展示PPT对“分页链接生成函数”进行讲解。
(3)、学生练习,教师巡视,对疑难问题进行解答。
✧阶段小结
Ø小结
重点:
limit、分页链接生成函数。
Ø答疑
教师询问学生对于知识点还有什么不理解的地方。
针对学生不理解的知识点给与解释。
【案例15】添加与修改信息
✧案例描述
在管理员工信息时,对员工信息的添加与修改,同样是十分常见的功能。
有时员工的内部岗位变动或者员工的离职,都需要使用到这些功能。
接下来就在【案例11】的基础上,增加“添加员工信息”与“修改员工信息”的功能。
修改员工信息,如下图所示:
✧案例讲解
Ø案例分析
•编写公用函数库文件,封装常用的数据库操作。
•修改showList.php文件,引入公共函数库文件,简化程序代码。
•修改list_html.php文件,增加“添加员工”的功能链接。
•编写员工添加页面,通过表单让用户输入新员工信息。
•编写添加员工功能,用来处理POST提交的员工数据并组成SQL语句以便添加。
•通过GET参数传递员工ID,实现员工修改功能。
Ø案例实现
教师带领学生分步骤地进行操作,并指出其中需要注意的事项。
说明:
在案例讲解的过程中,教师可适时停下来,让学生自行尝试。
小组之间可以协作讨论,教师巡视,对疑难问题进行解答。
✧知识点讲解
Ø总结知识点
教师和学生一起总结在案例中涉及到的知识点,主要包括“添加数据”、“修改数据”。
Ø讲解“添加数据”
(1)、教师使用代码演示“添加数据”的实现过程,并讲解注意事项。
(2)、教师展示PPT对“添加数据”的实现步骤进行归纳总结。
(3)、学生练习,教师巡视,对疑难问题进行解答。
Ø讲解“修改数据”
(1)、教师通过代码演示“修改数据”的实现过程。
(2)、教师展示PPT对归纳“修改数据”的实现步骤,同时讲解注意事项。
(3)、学生练习,教师巡视,对疑难问题进行解答。
✧阶段小结
Ø小结
重点:
添加数据、修改数据。
Ø答疑
教师询问学生对于知识点还有什么不理解的地方。
针对学生不理解的知识点给与解释。
✧巩固练习
Ø巩固“分页显示信息”与“添加与修改信息”的制作
学完知识点后,让学生再制作一次“分页显示信息”与“添加与修改信息”。
以此使学生更熟练地掌握“添加数据”、“修改数据”等知识点的使用。
Ø通过“补充案例”加强学习
教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。
✧布置作业
Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。
Ø预习4.1节【案例16】用户注册和4.2节【案例17】用户信息编辑。
Ø复习前面学过的知识点和案例,加强巩固。
第五课时、第六课时
(上机测试)
教师发放测试题目及案例素材,学生进行上机测试。
以此检查学生对相关知识点的掌握情况。
测试完成后将作品通过平台提交给老师。
上机测试主要针对本章中需要重点掌握的知识点,以及在代码中容易出
错的操作步骤。
通过上机测试可以考察同学对连接和选择数据库、执行SQL语句、处理结果集、mysql_real_escape_string()、like、limit、添加数据、修改数据的掌握程度。
(作品点评)
教师对学生的提交的上机测试作品进行点评,指出代码中容易出现bug的地方,并给与解答。
✧布置作业
Ø完成课后“动手实践”,并扫描二维码查看答案。
Ø预习4.1节【案例16】用户注册和4.2节【案例17】用户信息编辑。
教
学
后
记
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 PHP操作数据库教学设计 PHP 操作 数据库 教学 设计