• 无限分类


    一、数据库

    他的pid是上级的id

    二、php

    //获取所有的数据
    $pdo = new PDO("mysql:host=localhost;dbname=lamp108",'root','');
    $pdo->query("SET NAMES GBK");
    $stmt = $pdo->query("select * from cate2");
    $data = $stmt->fetchAll(2);   //直接从里面拿出来放这了
    
    //整理
    //要对data进行整理,首先把$data写里面
    function getcate4($data,$pid = 0,$level=0){
    $level++;
    $cateArr = array();  //写个数组
    //遍历$data里面的数据
    foreach($data as $v){
        if($v['pid'] == $pid){        //把当前父id下的分类存到$cateArr中
            $v['level'] = $level;  //把深度(层数)一起存到$cateArr中
            $cateArr[] = $v;
            
            //查看这个分类 是否有 子分类  如果有继续加入到 $cateArr
            $cateArr = array_merge($cateArr,getcate4($data,$v['id'],$level));
                                                            //把他的id当作下次的父ID去查询
        }
    }
    ////返回当前的分类数据
    return $cateArr;
    }
    
    $getArr = getcate4($data,9);  //默认传0 从跟开始   传个9 女装分类就出来了(查询)
    foreach($getArr as $v){
        echo str_repeat('|&nbsp;',$v['level']).'|-'.$v['name'].'<br />';
    }

    三、效果

     | |-家电
    | | |-生活电器
    | | | |-电风扇
    | | | |-空调
    | | |-厨房电器
    | | | |-电饭煲
    | | | |-煮蛋器
    | |-服装
    | | |-女装
    | | | |-T恤
    | | | | |-长袖
    | | | | |-短袖
    | | | | | |-红色短袖
    | | |-男装
    | | | |-T恤

    =================================

     第二部分  操作

    查询(直接在里面输入个9就行了)

    修改到其他分类(把厨房电器的PID修改成9 就跑到女装下面了)

    //update cate2 set pid = '9' where id = '3';

    增加(增加的话,直接pid写成你想增加的那个的ID就行了)

    删除()

  • 相关阅读:
    二叉树的镜像
    Prototype 模式
    假如编程语言在一起聚餐
    从零开始——Ubuntu系统安装LAMP
    从零开始——Ubuntu系统配置与软件安装
    从零开始——制作Ubuntu系统U盘启动
    apt-get upgrade failure with libc
    再生龙Clonezilla备份Ubuntu系统
    Ubuntu上apache多端口配置虚拟主机的方法
    bash & Makefile & 正则表达式学习
  • 原文地址:https://www.cnblogs.com/rainblack/p/4738026.html
Copyright © 2020-2023  润新知