CI 搭建CMS 二维数组子循环显示,用于后台权限显示。

因为CI严格遵守MVC框架,不能在后台从新获取子数据,只能一次将数据都传递给v层。

在model层,

public function get_rbac(){

        $sql = 'select id,name,pid from rbac';
        
        $query=$this->db->query($sql);
        return $query->result_array();
}

将所有数据一次都传递给view层。

controller层,正常显示。

  public function topleft()
        {
        
        $data['rbac'] = $this->rbac_model->get_rbac();
        $this->load->view('pf_top');
        $this->load->view('pf_left',$data);
    

        
        } 

关键在view层。没少费了劲。

<?php for($i=0;$i<count($rbac);$i++)
{
    //构建一个循环,如果pid为0,直接显示,
        if ($rbac[$i]['pid']==0){    
        echo $rbac[$i]['name'];
    }
        echo '<hr/>';
    //构建子循环,
for($r=0;$r<count($rbac);$r++){ echo $rbac[$i]['id']; echo $rbac[$r]['pid']; if($rbac[$i]['id']==$rbac[$r]['pid']) //关键代码 echo $rbac[$r]['name']; echo '<hr/>'; }

 

posted @ 2017-07-13 15:49  琴声清幽  阅读(262)  评论(0编辑  收藏  举报