PHP应用开发与实践 教学课件 ppt 作者 马骏 第18章 综合案例——应用Smarty模板开发电子商务网站

上传人:E**** 文档编号:89426605 上传时间:2019-05-25 格式:PPT 页数:113 大小:3.16MB
返回 下载 相关 举报
PHP应用开发与实践 教学课件 ppt 作者  马骏 第18章 综合案例——应用Smarty模板开发电子商务网站_第1页
第1页 / 共113页
PHP应用开发与实践 教学课件 ppt 作者  马骏 第18章 综合案例——应用Smarty模板开发电子商务网站_第2页
第2页 / 共113页
PHP应用开发与实践 教学课件 ppt 作者  马骏 第18章 综合案例——应用Smarty模板开发电子商务网站_第3页
第3页 / 共113页
PHP应用开发与实践 教学课件 ppt 作者  马骏 第18章 综合案例——应用Smarty模板开发电子商务网站_第4页
第4页 / 共113页
PHP应用开发与实践 教学课件 ppt 作者  马骏 第18章 综合案例——应用Smarty模板开发电子商务网站_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《PHP应用开发与实践 教学课件 ppt 作者 马骏 第18章 综合案例——应用Smarty模板开发电子商务网站》由会员分享,可在线阅读,更多相关《PHP应用开发与实践 教学课件 ppt 作者 马骏 第18章 综合案例——应用Smarty模板开发电子商务网站(113页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第18章 综合案例应用Smarty模板开发电子商务网站,如何进行系统分析 数据库设计流程 搭建系统架构的方法 注册即时验证的实现方法 简单的树形菜单的实现方法 购物车的实现方法 订单的处理方法 如何注册域名和虚拟空间 发布网站的方法,主要内容,1.需求分析 2.构建开发环境 3.系统设计 4.数据库设计 5.搭建系统框架 6.公共文件设计 7.网站主要模块开发 8.开发技巧与难点分析 9.发布网站,第18章 综合案例应用Smarty模板开发电子商务网站,18.1 需求分析,随着“地球村”概念的兴起,网络已经深入到人们生活的每一个角落。世界越来越小,信息的传播越来越快,内容也越来越

2、丰富。现在,人们对于在网络上寻求信息和服务已不再满足于简单的信息获取上,人们更多的是需要在网上实现方便的、便捷的、可交互式的网络服务。电子商务则正好满足了人们的需求。它可以让人们在网上实现互动的交流及足不出户地购买产品,向企业发表自己的意见、服务需求及有关投诉,并且通过网站的交互式操作向企业进行产品的咨询、得到相应的回馈及技术支持。精明的商家绝不会错过这样庞大的市场,越来越多的企业已经开展了电子商务活动。加入电子商务的行列也许不会让企业马上见到效益,但不加入则一定会被时代所抛弃。,18.2 构建开发环境,在开发电子商务平台时,该项目使用的软件开发环境如下: 1服务器端 操作系统:Windows

3、 2003 Server/Linux(推荐)。 服务器:Apache 2.2.8。 PHP软件:PHP 5.2.6。 数据库:MySQL 5.0.51。 MySQL图形化管理软件:phpMyAdmin-2.10.3。 开发工具:Dreamweaver 8。 浏览器:IE 6.0及以上版本。 分辨率:最佳效果为1024768像素。 2客户端 浏览器:推荐IE 6.0及以上版本。 分辨率:最佳效果为1024768像素。,18.3 系统设计,18.3.1 网站功能结构 18.3.2 业务流程图,18.3.1 网站功能结构,电子商务平台分前台系统和后台系统。下面分别给出前、后台的系统功能结构图。电子商

4、务前台系统功能结构图如图18-1所示。 图18-1 电子商务前台系统功能结构图,电子商务后台系统功能结构图如图18-2所示。 图18-2 电子商务后台系统功能结构图,为了便于开发人员了解系统各个功能模块之间的联系及完整的购物流程,下面给出了系统的流程图,如图18-3所示。 图18-3 系统流程图,18.3.2 业务流程图,18.4 数据库设计,18.4.1 数据库分析 18.4.2 创建数据库与数据表,根据需求分析和系统的功能流程图,找出需要保存的信息数据(也可以理解为现实世界中的实体),并将其转化为原始数据(属性类型)形式。这种描述现实世界的概念模型,可以使用E-R图来表示。也就是实体-联系

5、图。最后将E-R图转换为关系数据库。这里重点介绍几个E-R图。 1会员信息实体 会员信息实体包括编号、用户名、密码、E-mail、身份证号、联系电话、QQ号、密码提示、密码答案、邮编、注册时间、真实姓名等属性。会员信息实体E-R图如图18-4所示。 图18-4 会员信息实体E-R图,18.4.1 数据库分析,2商品信息实体 商品信息实体包括编号、名称、上市时间、添加时间、型号、图片、库存、销售、商品类型、会员价、市场价、是否打折等属性。商品信息实体E-R图如图18-5所示。 图18-5 商品信息实体E-R图 除了上面介绍的2个E-R图,还有商品订单实体、商品评价实体、公告实体、管理员实体和类型

6、实体和友情链接实体等,限于篇幅,这里仅列出主要的实体E-R图。,系统E-R图设计完成后,接下来根据E-R图来创建数据库和数据表。首先来看一下电子商务平台所使用的数据表情况,如图18-6所示。 图18-6 电子商务数据表,18.4.2 创建数据库与数据表,下面来看各个数据表的结构和字段说明。 tb_admin(管理员信息表) 管理员信息表主要用于存储管理员的信息,其结构如图18-7所示。 图18-7 管理员信息表结构 tb_class(商品类型列表) 商品类型列表主要用于添加商品的类别,可以设定多个子类别(目前最多只能到二级子类别),其结构如图18-8所示。 图18-8 商品类型列表结构,tb_

7、commo(商品信息表) 商品信息表主要用于存储关于商品的相关信息,其结构如图18-9所示。 图18-9 商品信息表结构 此外还有商品订单表、商品公告表、用户信息表、友情链接表和商品留言表,限于篇幅,这里不再介绍。,编写代码之前,可以把系统中可能用到的文件夹先创建出来(例如,创建一个名为images的文件夹,用于保存程序中所使用的图片),这样不但可以方便以后的开发工作,也可以规范系统的整体架构。因为本项目使用的是Smarty+PDO技术,所以目录较多。下面介绍一下本系统的目录结构(到三级目录),如图18-10所示。 图18-10 电子商务网站文件夹组织结构图,18.5 搭建系统框架,18.6

8、公共文件设计,18.6.1 数据库连接、管理和分页类文件 18.6.2 Smarty模板配置类文件 18.6.3 执行类的实例化文件,在数据库连接、管理和分页类文件中,定义三个类。分别是ConDB数据库连接类,实现通过PDO连接MySQL数据库;AdminDB数据库管理类,使用PDO类库中的方法执行对数据库中数据的查询、添加、更新和删除操作;SepPage分页类,用于对商城中的数据进行分页输出。 dbtype=$dbtype; $this-host=$host; $this-user=$user; $this-pwd=$pwd; $this-dbname=$dbname; /实现数据库的连接并

9、返回连接对象 function GetConnId() if($this-dbtype=“mysql“ | $this-dbtype=“mssql“) $dsn=“$this-dbtype:host=$this-host;dbname=$this-dbname“; else $dsn=“$this-dbtype:dbname=$this-dbname”; try $conn = new PDO($dsn, $this-user, $this-pwd); /初始化一个PDO对象,就是创建了数据库连接对象$pdo $conn-query(“set names utf8“); return $con

10、n; catch (PDOException $e) die (“Error!: “ . $e-getMessage() . “);,18.6.1 数据库连接、管理和分页类文件,/数据库管理类 class AdminDB function ExecSQL($sqlstr,$conn) $sqltype=strtolower(substr(trim($sqlstr),0,6); $rs=$conn-prepare($sqlstr); /准备查询语句 $rs-execute(); /执行查询语句,并返回结果集 if($sqltype=“select“) $array=$rs-fetchAll(PD

11、O:FETCH_ASSOC); /获取结果集中的所有数据 if(count($array)=0 | $rs=false) return false; else return $array; elseif ($sqltype=“update“ | $sqltype=“insert“ | $sqltype=“delete“) if($rs) return true; else return false; /分页类 class SepPage,var $rs; var $pagesize; var $nowpage; var $array; var $conn; var $sqlstr; funct

12、ion ShowData($sqlstr,$conn,$pagesize,$nowpage) /定义方法 if(!isset($nowpage) | $nowpage=“) /判断变量值是否为空 $this-nowpage=1; /定义每页起始页 else $this-nowpage=$nowpage; $this-pagesize=$pagesize; /定义每页输出的记录数 $this-conn=$conn; /连接数据库返回的标识 $this-sqlstr=$sqlstr; /执行的查询语句 $this-rs=$this-conn-PageExecute($this-sqlstr,$th

13、is-pagesize,$this-nowpage); $this-array=$this-rs-GetRows(); /获取记录数 if(count($this-array)=0 | $this-rs=false) return false; else return $this-array; function ShowPage($contentname,$utits,$anothersearchstr,$anothersearchstrs,$class) $allrs=$this-conn-Execute($this-sqlstr); /执行查询语句 $record=count($allrs

14、-GetRows(); /统计记录总数,$pagecount=ceil($record/$this-pagesize); /计算共有几页 $str.=$contentname.“ else,$str.=“下一页“; $str.=“ ?,在Smarty模板配置类文件中配置Smarty模板文件、编译文件、配置文件等文件路径。 template_dir = “./system/templates/“; /指定模板文件存储位置 $this-compile_dir = “./system/templates_c/“; /指定编译文件存储位置 $this-config_dir = “./system/co

15、nfigs/“; /指定配置文件存储位置 $this-cache_dir = “./system/cache/“; /指定缓存文件存储位置 ?,18.6.2 Smarty模板配置类文件,在system.inc.php文件中,通过require语句包含system.smarty.inc.php和system.class.inc.php文件,执行类的实例化操作,并定义返回对象。完成数据库连接类的实例化后,调用其中GetConnId()方法连接数据库。 GetConnId(); /执行连接操作,返回连接标识 $admindb=new AdminDB(); /数据库操作类实例化 $seppage=ne

16、w SepPage(); /分页类实例化 $usefun=new UseFun(); /使用常用函数类实例化 $smarty=new SmartyProject(); /调用smarty模板 function unhtml($params) extract($params); $text=$content; global $usefun; return $usefun-UnHtml($text); $smarty-register_function(“unhtml“,“unhtml“); /注册模板函数 ?,18.6.3 执行类的实例化文件,18.7 网站主要模块开发,18.7.1 前台首页 18.7.2 登录模块设计 18.7.3 会员信息模块设计 18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号