第3章PHP操作数据库-教学设计课案_第1页
第3章PHP操作数据库-教学设计课案_第2页
第3章PHP操作数据库-教学设计课案_第3页
第3章PHP操作数据库-教学设计课案_第4页
第3章PHP操作数据库-教学设计课案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

桂林理工大学南宁分校《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】展示员工信息)复习上节课内容在讲解本节内容前,抛出以下问题让学生回答,以复习前两章的知识。请简述PHP、Apache和MySQL的程序开发中的作用。答案:PHP用于处理服务器端脚本,Apache用于提供Web访问服务,而MySQL是用于管理数据的。对一个网站而言,数据是非常宝贵的,如电子商务网站。请说出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】员工信息排序)复习上节课内容在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。请简述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应用不去关心具体要连接的数据库服务器系统类型。可以在任何需要的时候无缝切换数据库服务器。请简述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】员工信息搜索)复习上节课内容在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。请简述排序的语法规则。答案: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】添加与修改信息)复习上节课内容在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。当用户输入的用户名中含有特殊字符(比如:单引号)时,请问如何进行处理。答案:mysql_real_escape_string()以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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论