黑马程序员技术交流社区

标题: 【黑马程序员杭州】PHP项目day02--后台商品分类模型的实现 [打印本页]

作者: 小江哥    时间: 2017-12-5 10:38
标题: 【黑马程序员杭州】PHP项目day02--后台商品分类模型的实现
本帖最后由 小江哥 于 2018-1-12 14:36 编辑

各位同学,大家好!欢迎关注我们杭州黑马PHP课程,接下来的一段时间我们将会有不同阶段的老师给同学们分享PHP课程的基础篇以及项目篇。这节课程主要是给大家分享项目篇。从项目的部署一直到项目的整理架构,流程,希望能给大家的编程学习带来帮助,当然在学习中遇到了问题也可以回帖进行提问,我们还会不定时的在公众平台派送一些意想不到的惊喜呦!!!


    部署环境咱们第一天的课程已经介绍,同学们可以去自行查看。今天接着给大家分享项目的第二天---商品分类模型的实现。

一、商品增加拓展分类
1.1商品分类的作用
商品分类的作用就是为了帮助用户的快速找到自己想要购买的商品,因此一个商品都归属某一个分类。有时有些商品希望在多个分类下显示。因此可以给商品设置扩展分类来实现。
1.2扩展分类的数据表创建
CREATE TABLE jx_goods_cate(  id int(11) NOT NULL AUTO_INCREMENT,  goods_id int(11) NOT NULL DEFAULT 0 COMMENT '商品ID标识',  cate_id smallint(6) NOT NULL DEFAULT 0 COMMENT '分类ID标识',  PRIMARY KEY(id))ENGINE= InnoDB DEFAULT CHARSET=utf8;
1.3实现商品入库时增加扩展分类
  1.3.1添加商品时显示扩展分类
①修改商品的添加表单增加扩展分类

②增加按钮

③修改base模板引入jQuery文件

④实现点击按钮增加select选择框

  1.3.2实现数据入库

①修改扩展分类的name属性

②接受数据入库

二、商品的列表显示
2.1、显示所有的商品
  2.1.1控制器中获取商品数据
  2.1.2在模型中实现listData方法

  2.1.3实现视图显示出商品信息
①拷贝商品列表模板到对应的目录下并且改名为index

②修改index模板使用模板继承

③修改index.html中的资源地址

④模板显示出数据  


2.2分页显示出商品信息
   2.2.1TP分页类的使用步骤
1、定义当前每页显示多少条数据(页尺寸)
2、计算出一共有多少条数据(数据总数)
3、调用TP的方法获取分页导航数据
5、将分页导航数据赋值给模板显示
6、获取当前所在的页码
   2.2.2实现商品列表分页
①在模型中获取数据

②在模板中显示数据

三、商品列表的搜索共勉功能
3.1商品列表的搜索分析
对于搜索功能本质就是一个表单提交给当前的URL地址。当接受到搜索的条件后在根据具体的搜索条件拼接出MySQL查询语句的where条件即可。
3.2商品分类的搜索
  3.1.1显示出分类信息
①获取分类信息
②模板对数据进行显示
  3.1.2修改模型能够获取子分类
①增加getChildren方法获取子分类
②修改getTree方法可以实现重置数据
③修改getchildren方法返回子分类的ID
3.1.3在模型中拼接查询的where子句
①调用模型获取当前下的子分类

②结合扩展分类一起拼接where子句
3.3、使用推荐状态搜索
3.4、使用上下架搜索
①修改搜索的模板中对应上下架的value
②在模型中组装条件
3.5、使用关键词搜索
3.6、搜索时显示出搜索的条件
四、商品删除
①给商品增加删除的连接地址
②在控制器中增加dels实现删除

③在模型中具体的实现删除操作
五、商品修改
5.1显示修改商品基本信息
①给商品列表增加修改的URL地址
②创建edit方法显示出商品的信息
③将add模板进行复制改名为edit
④修改edit模板显示出商品信息
5.2、解决显示商品信息中的问题
5.2.1、显示商品分类
①获取所有的分类信息
②在模板中显示出分类信息
5.2.2、解决扩展分类的显示
①获取商品拥有的扩展分类
②在模板中显示出对应的扩展分类
③解决部分商品没有扩展分类的情况
5.2.3、解决商品描述问题
对于显示商品描述显示为HTML标签是因为在数据库中记录的是HTML对应的实体信息。产生该情况是因为在商品入库时使用了I函数进行了过滤
5.3、实现数据修改入库
①在控制器中获取数据并且调用模型方法修改
②在模型中实现update方法修改
③解决商品货号的问题
④解决扩展分类的问题
⑤解决商品图片问题
5.4、商品相关的代码优化
5.4.1、扩展分类入库的代码公用
①增加商品扩展分类模型
②将商品扩展分类的入库封装为方法
③修改增加商品时扩展分类的入库
④修改商品的编辑扩展分类入库
5.4.2、商品图片上传的优化
①将商品缩略图上传代码进行封装
②修改添加商品时图片上传
③修改编辑商品时图片上传
六、商品回收站
6.1、回收站展示商品列表信息
针对已经删除的商品的显示。此处实现列表显示出回收站的商品,根据商品的isdel状态来进行数据查询即可
①控制器中获取数据并且赋值给模板进行显示
②修改模型中listData增加参数
③处理模板将index进行复制然后修改名称
6.2、回收站商品的还原
①修改回收站中商品的列表增加还原的连接地址
②在控制器中实现还原方法
③修改模型中dels方法
6.3、实现商品彻底删除
①给商品回收站增加彻底删除的连接地址
②在控制器中增加remove方法实现彻底删除
③在模型中实现彻底删除



校区捷报
【黑马程序员杭州】PHP03期,平均薪水7636元,毕业35个工作日,就业率100%

众览群雄,唯我杭城独秀—一贴汇总杭州校区所有就业薪资
http://bbs.itheima.com/thread-345570-1-1.html

阅读推荐

【黑马程序员杭州】PHP课程笔记day01-HTML简介及标签
【黑马程序员杭州】PHP课程笔记day02-HTML组标签

【黑马程序员杭州】PHP课程笔记day03-HTML网页框架及表单标签
【黑马程序员杭州】PHP课程笔记day04表单控件
【黑马程序员杭州】PHP课程笔记day05-CSS基础
【黑马程序员杭州】PHP课程笔记day06-CSS样式




作者: swallow25715902    时间: 2017-12-5 13:16
内容非常详细!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2