加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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 = '删除失败';
                );
            }
        }
    }
}

?

实现效果

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读