所以我正在研究一个权限系统。它基本上是一个基于角色的系统。我有一个具有多对多关系的组表和一个任务表,以及一个将它们绑定在一起的权限表。
数据看起来像这样(任务表):
+-----+--------+---------+----------+
| 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
)
)
很抱歉让人困惑的帖子!
好了,现在完全重新格式化我的答案,因为它是有点模棱两可,究竟什么是不工作。
首先像这样重新排列数组:
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;
}
}
这些都是我脑海中勾勒出来的,所以我希望它能起作用,而且这次是你想要的。