thinkphp无限分类模块实现
发布时间:2020-12-14 13:55:08 所属栏目:大数据 来源:网络整理
导读:数据表结构如下: ? ? 控制器核心代码: ? phpnamespace appindexcontroller; use thinkController; class Goods extends Controller{ public function product_category() { return $this - fetch(); } product_category_add() { $m = Model('goods_type
数据表结构如下: ? ? 控制器核心代码: <?php namespace appindexcontroller; use thinkController; class Goods extends Controller { public function product_category() { return $this->fetch(); } product_category_add() { $m = Model('goods_type'); // 根据paths进行排序 // 对,进行转义,因为本身是作为分隔符使用 $data = $m->field("*,concat(path,',',id) as paths")->order('paths')->select(); foreach($data as $k=>$v){ 根据level的值,决定需要循环几次,生成分割线 $v['name'] = str_repeat("|------",$v['level']).$v['name']; } $this->assign('data',1)">$data); 添加分类 goods_type_add(){ if($_POST['name'] === ''echo '<script>alert("添加失败,分类名不能为空");parent.location.href="product_category";</script>'; } var_dump($_POST); $data['name'] = $_POST['name']; $data['pid'] = $_POST['pid'$data['pid'] === "0"如果是一级分类 $data['level'] = 1; 新增分类的id $info = $m->where('1=1')->order('id desc')->find(); $newId = $info['id']+1; $data['path'] = '0,'.$newId; }else{ $pinfo = $m->field('path,level')->where('id',1)">$data['pid'])->select(); 查找父分类的path和level $data['level'] = $pinfo[0]['level']+1; $data['path'] = $pinfo[0]['path'].',1)">; } $res = $m->data($data)->save(); $resecho '<script>alert("添加成功");parent.location.href="product_category";</script>'{ echo '<script>alert("添加失败");parent.location.href="product_category";</script>'; } } 获取分类数据 product_category_ajax(){ $m = model('goods_type'); $m->field('id,pid,name')->echo json_encode(); } 删除分类数据 product_category_del(){ $id = $_GET['id'$m->where('pid',1)">$id)->find(); ){ $str = '该分类下还有子分类,不允许直接删除'$str); }$result = $m->where('id',1)">delete(); $result){ echo 1; }{ $str = '删除失败'; ); } } } } ? 实现效果 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |