一、数据库
他的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('| ',$v['level']).'|-'.$v['name'].'<br />'; }
三、效果
| |-家电
| | |-生活电器
| | | |-电风扇
| | | |-空调
| | |-厨房电器
| | | |-电饭煲
| | | |-煮蛋器
| |-服装
| | |-女装
| | | |-T恤
| | | | |-长袖
| | | | |-短袖
| | | | | |-红色短袖
| | |-男装
| | | |-T恤
=================================
第二部分 操作
查询(直接在里面输入个9就行了)
修改到其他分类(把厨房电器的PID修改成9 就跑到女装下面了)
//update cate2 set pid = '9' where id = '3';
增加(增加的话,直接pid写成你想增加的那个的ID就行了)
删除()