所以我正在开发一个权限系统。它基本上是一个基于角色的系统。我有一个与任务表具有多对多关系的组表,以及将它们绑定在一起的权限表。
数据看起来像这样(任务表):
+-----+--------+---------+----------+
| id | task | group | parent |
|-----------------------------------|
| 1 | view | news | |
|-----------------------------------|
| 2 | edit | news | |
|-----------------------------------|
| 3 | view | forums | |
|-----------------------------------|
| 4 |a forum | forums | view |
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
我要做的是允许每个组对每个页面具有特定权限。但是在需要时,可以获得更多的特异性。例如,在论坛页面上,我希望能够控制哪个组可以查看/编辑每个论坛的帖子/删除帖子等。
这一切都正常 - 我的问题是如何显示这些数据以便分配它。这就是我想要的样子:
News
-- View
-- Edit
Forums
-- View
---- a forum
-- Edit
---- a forum
我无法解决如何格式化这个数组来做到这一点
Array
(
[0] => Array
(
[task] => view
[group] => news
[parent] =>
)
[1] => Array
(
[task] => edit
[group] => news
[parent] =>
)
[2] => Array
(
[task] => view
[group] => forums
[parent] =>
)
[3] => Array
(
[task] => a forum
[group] => forums
[parent] => view
)
)
抱歉这个令人困惑的帖子!
答案 0 :(得分:0)
好的,现在完全重新格式化我的答案,因为它有点不明确究竟什么不起作用。
首先按如下方式重新排列数组:
while($result = $query->fetch_assoc())
{
$group = $result['group'];
foreach($result as $field => $value)
{
$data[$group][$field] = $value;
}
}
然后你可以迭代它:
foreach($data as $group)
{
echo $group;
foreach($group as $task => $value)
{
if($task == 'parent' && $task != '') { $indent = '----';}
else {$indent = '--'; }
echo $indent,$task;
}
}
所有这些都只是勾勒出我的头脑,所以我希望它有效,这次就是你想要的。