什么是无限极分类

什么是无限极分类,第1张

要实现无限分类,数据库建表是关键。

表结构中至少需要三个字段,如果想避免递归循环,那么需要四个字段。

1. id ,当前数据的唯一标识;

2. typename ,类型名称;

3. parentid , 当前类型的上一层父类型的id;

4. path , 其中存储当前类型的id和它所有父级类型的id。

这些id之间采用“-”隔开。

5. 当通过以下sql语句就可以实现,相同顶级类下的信息都在一起集中显示。

select * from 表名 where 条件 order by path;

例如:

一个非常简单清晰简单的无极限分类范例,带缩进效果,只需查询一次数据表,然后递归遍历结果集,就可以了,要在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;
}

短短几行代码,比较清晰,也比较好用。

相关推荐:

PHP实现无限极分类函数的方法

如何创建无限极分类树型结构

以上就是什么是无限极分类的详细内容,更多请关注php中文网其它相关文章!

文章来源:https://www.php.cn/faq/399429.html

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复