用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4789|回复: 4
收起左侧

CI 如何遍历列表

[复制链接]
发表于 2012-10-15 16:47:43 | 显示全部楼层 |阅读模式
10CI币
我想在前台显示成:

在管理员组下面需要再遍历出管理员组拥有的权限名称。

数据库表如下:
这是用户组表


这是用户组权限关系表


这是权限表


根据表的信息,在前台遍历出来的结果应该是:

管理员组
     进入后台
     分享商品
普通用户组

在控制器中和视图中都该如何遍历才能显示出来?



发表于 2012-10-15 18:42:18 | 显示全部楼层
在控制器中写aql语句到数据库查询,对结果集进行排列,生成需要的数组,在分配到视图中显示。。。
回复

使用道具 举报

发表于 2012-10-16 09:42:51 | 显示全部楼层
PHP复制代码
 
//遍历groups
       $data = array();
       $groups = $this->db->get('用户组')->result_array();
       foreach ($groups as $group) {
           //获取组权限
           $groupPre = $this->db->select('permissionid')->where(array('groupid' => $value['groupid']))->get('用户组权限关系')->result_array();
$data[$value['name']] = array();
          foreach($groupPre  as $pre)
           $data[$value['name']][] = $this->db->select('name')->get_where('权限',array('permissionid' => $pre->permissionid))->first_row->name;
       }  
 
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-10-16 10:03:09 | 显示全部楼层
大道达人 发表于 2012-10-16 09:42

你好, 我没太理解了代码意思,代码里面的$value['groupid']应该是$group['groupid']吧, $data[$value['name']]这个没有太理解。
下面一行的$pre->permissionid这个对象的访问方式,
没想出来啊,求指教。
回复

使用道具 举报

发表于 2012-10-16 11:20:54 | 显示全部楼层
继续、驕傲 发表于 2012-10-16 10:03
你好, 我没太理解了代码意思,代码里面的$value['groupid']应该是$group['groupid']吧, $data[$value[' ...


$value改成$group
直接放在你的controller
然后
print_r($data);你就知道返回结果了
回复

使用道具 举报

本版积分规则