什么是无限极分类

不言
不言asal
2018-05-31 11:23:112711semak imbas

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

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

 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实现无限极分类函数的方法

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

Atas ialah kandungan terperinci 什么是无限极分类. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn