后台分类展示层级关系不用递归也可实现无限级分类
实现原理是将分类按路径顺序显示
以下是效果图展示
数据库表字段如下:
cat_id(分类id) cat_name(分类名称) path(路径)
0是顶级分类 ,path的路径是所有的父级分类
比如cat_id=28的父级分类是0,就在path中写入(0)
cat_id=29的父级分类是 0和28,就在path中写入(0-28)
接下来用一条sql语句将分类排序
数据格式为:
数据得到之后渲染到页面,用中划线(-)来划分层级关系
完毕!
cat_id(分类id) cat_name(分类名称) path(路径)
0是顶级分类 ,path的路径是所有的父级分类
比如cat_id=28的父级分类是0,就在path中写入(0)
cat_id=29的父级分类是 0和28,就在path中写入(0-28)
接下来用一条sql语句将分类排序
select cat_id,cat_name,path,concat(path,"-",cat_id) as depath from category order by depath asc
数据格式为:
数据得到之后渲染到页面,用中划线(-)来划分层级关系
<?php foreach($data as $key=>$val):?>
<option value="<?php echo $val['cat_id']?>" path="<?php echo $val['path']?>">
<?php echo str_repeat(' ', substr_count($val['path'],'-')*2).$val['cat_name']?>
</option>
<?php endforeach ?>
完毕!