博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
夺命雷公狗TP3.2.3商城13-----无限极分类添加
阅读量:5011 次
发布时间:2019-06-12

本文共 3351 字,大约阅读时间需要 11 分钟。

由于我们需要使用到的是模型来验证一下,所以我们先到  D:\phpStudy\WWW\shop\WEB\Admin\Model   下创建一个CateModel.class.php

 

 

然后来设置一下模版:

 

然后我们来写  Cate  控制器 的add方法:

 

public function add(){            $mod = D('cate');            if(IS_POST){                $data['catename'] = I('catename');                $data['pid'] = I('pid');                if($mod -> create($data)){                    if($mod->add($data)){                        $this -> success('添加栏目成功');                    }else{                        $this -> error('添加栏目失败');                    }                }else{                    $this -> error($mod -> getError());                }                return;            }            $this -> display();        }

 我们添加几条数据看看:

然后到数据库看看:

 

已经添加成功咯,但是毕竟是无限极分类,总不能永远是父级栏目吧??

那么我们回到cata控制器下的add方法中,先从数据库取出数据,然后分配到模版中:

 

public function add(){            $mod = D('cate');            if(IS_POST){                $data['catename'] = I('catename');                $data['pid'] = I('pid');                if($mod -> create($data)){                    if($mod->add($data)){                        $this -> success('添加栏目成功');                    }else{                        $this -> error('添加栏目失败');                    }                }else{                    $this -> error($mod -> getError());                }                return;            }            $data = $mod -> select();            $this -> assign('data',$data);            $this -> display();        }

 

然后到模版进行遍历一下数据:

 

然后到测试看看效果:

 然后添加一个父级为cate2的测试下,然后到数据库看看:

虽然添加成功了,但是我们的顶级栏目和子级栏目这样是不容易被大家区分出来,所以我们需要到D:\phpStudy\WWW\shop\WEB\Admin\Model  找到CateModel.class.php  对她进行修改下:

order('id desc')->select(); //通过tree里面的方法进行排序 return $this->tree($cats); } public function tree($arr,$pid=0,$level=0){ //$level是自己定义出来的 static $tree = array(); foreach($arr as $v){ if($v['pid']==$pid){ //说明找到,保存 $v['level'] = $level; $tree[] = $v; //继续找 $this -> tree($arr,$v['id'],$level+1); //这里的cate_id表的id } } return $tree; } }

 

然后回到控制器下,在取数据的时候用cateTree的方法来进行取数据:

public function lists(){            $this -> display();        }        public function add(){            $mod = D('cate');            if(IS_POST){                $data['catename'] = I('catename');                $data['pid'] = I('pid');                if($mod -> create($data)){                    if($mod->add($data)){                        $this -> success('添加栏目成功');                    }else{                        $this -> error('添加栏目失败');                    }                }else{                    $this -> error($mod -> getError());                }                return;            }            $data = $mod -> cateTree();            $this -> assign('data',$data);            $this -> display();        }

 

然后再模版页修改下添加数据的方法即可:

 

                                                                   

 

然后我去测试下添加,效果如下所示:

 

YES,添加成功。。

 

转载于:https://www.cnblogs.com/leigood/p/7257113.html

你可能感兴趣的文章
Amd,Cmd, Commonjs, ES6 import/export的异同点
查看>>
cocos2dx-Lua与Java通讯机制
查看>>
上下文管理器之__enter__和__exit__
查看>>
android3.2以上切屏禁止onCreate()
查看>>
winform文件迁移工具
查看>>
delphi DCC32命令行方式编译delphi工程源码
查看>>
paip.输入法编程----删除双字词简拼
查看>>
or1200下raw-os学习(任务篇)
查看>>
ZOJ - 3939 The Lucky Week(日期循环节+思维)
查看>>
小花梨的取石子游戏(思维)
查看>>
Ubuntu 18.04安装arm-linux-gcc交叉编译器
查看>>
.net core i上 K8S(一)集群搭建
查看>>
django drf 深入ModelSerializer
查看>>
Android---Menu菜单
查看>>
【资源导航】我所用到过的工具及下载地址
查看>>
监控Tomcat
查看>>
剑指offer编程题Java实现——面试题4后的相关题目
查看>>
简单的社交网络分析(基于R)
查看>>
Http请求工具类 httputil
查看>>
html幻灯效果页面
查看>>