一个非常简单清晰简单的无极限分类范例,带缩进效果,只需查询一次数据表,然后递归遍历结果集,就可以了,要在php中实现栏目缩进显示可以参考一下。
$sql = 'select * from cat order by cat_id desc'; $list = $db->getAll($sql); $list = getLevelCat($list); function getLevelCat($catlist, $parent_id='0', $html=' ', $level='0'){ $arr = array(); foreach($catlist as $val){ if($val['parent_id']==$parent_id){ $val['html'] = str_repeat($html,$level); $val['level'] = $level; $arr[] = $val; $arr = array_merge($arr, getLevelCat($catlist, $val['cat_id'], $html, $level+1)); } } return $arr; }
实现效果图:
短短几行代码,比较清晰,也比较好用。