使用递归完成无限极的分类

1.无限极分类可以由三种方式完成(迭代,递归和引用) 这里我们之总结递归这种,其他两种后期在加入

2.形式:一般的分类树状结构   是adjacency list,也就是是id,parent id这中形式。

       adjacency list ->  数据表格式类似id,pid,name这种格

使用递归完成无限极的分类_第1张图片

3.详细代码:

    1.链接数据库类:

      使用递归完成无限极的分类_第2张图片

2.重点(来实现无限极分类)

 

   include 'config.php';
    function getLists($pid = 0, &$lists = array(), $deep = 1) {
    $link = content();
    $sql = 'select * from category where pid='.$pid;
    
    $res = mysqli_query($link,$sql);
    if($res && mysqli_affected_rows($link)){
        while ($row = mysqli_fetch_assoc($res)) {
            $row['catename'] = str_repeat('  ', $deep).'|---'.$row['catename'];
            $lists[] = $row;
            getLists($row['id'], $lists, ++$deep); //进入子类之前深度+1  
            --$deep; //从子类退出之后深度-1     
        }
       
        return $lists;       
    }

}
    

 function displayLists($pid = 0, $selectid = 1) {

    $result = getLists($pid);
  
    $str = '';
} 

echo displayLists(0, 1);
3.效果图:

      使用递归完成无限极的分类_第3张图片


你可能感兴趣的:(php)