无限分类

一、数据库

他的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就行了)

删除()

posted @ 2015-08-17 22:42  __Rain丶  阅读(255)  评论(0编辑  收藏  举报