Yii無限極分類2

控制器

public function actionIndex () {
    header("content-type:text/html;charset=utf-8");
    //實例化enterprise這個model層 調用sel_all方法
    $data=new enterprise();
    $data=$data->sel_all();
    return $this->render('index',array('ar'=>$data));
}
Model層

public function sel_all(){
    $arr = (new \yii\db\Query())
        ->select(['id', 'enterprise_name','fid'])
        ->from('enterprise')
        ->all();
    //調用list_level方法
    return self::list_level($arr,$pid=0,$level=0);
}
//遞歸遍歷數據
public function list_level($arr,$pid=0,$level=0){
    //定義一個靜態數組
    static $data = array();
    foreach($arr as $k => $v){
        if($v['fid'] == $pid){
            $v['level'] = $level;
            $data[] = $v;
            $this->list_level($arr,$v['id'],$level+1);
        }
    }
    return $data;
}
View層

<table border='1'>
    <th>id</th>
    <th>名稱</th>
    <?php foreach($ar as $k=>$v){?>
        <tr>
            <td><?php echo $v['id']?></td>
            <!--str_repeat('字符串','重複的次數');重複一個字符串-->
            <td><?php echo str_repeat('--',$v['level']);?><?php echo $v['enterprise_name']?></td>
        </tr>
    <?php }?>
</table>
效果展示:

id 名稱
1 一級分類
8 --二級分類
178 ----三級分類
179 ----三級分類
180 ----三級分類
181 ----三級分類


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章