注意条件判断时,要用全等于号。
重要算法:无限分类并缩进
results是部门全表,result默认是空数组array(),suojin是每个类应该缩进的个数。
思路是:每次判断pid是否是上一次传入的id,如果是,则保存在数组中
function department_show($results,$result,$pid,$suojin){
$suojin++;
foreach ($results as $key => $value) {
if ($value['pid']==$pid) {
$result[$key]=$value;
$result[$key]['suojin']=$suojin;
if ($result2=department_show($results,$result,$value['id'],$suojin)) {
$result=$result2;
}
}
}
return $result;
}
前端页面中,表格内容为如下代码:
<tbody>
<?php foreach ($results as $key => $value) {?>
<tr id="<?php echo $value['id']?>">
<td id="<?php echo $value['id']?>"><?php
for ($i=0; $i < $value['suojin']; $i++) {
echo '       ';
}?><?php echo $value['name']?></td>
<td><?php echo $value['permission']?></td>
<td>
<a href="/Department/add_children?id=<?php echo $value['id']?>" class="btn btn-outline btn-default" id="add_children">
<i class="glyphicon glyphicon-plus" aria-hidden="true"></i>添加
</a>
</td>
<td>
<a class="btnDel">删除</a>
<a href="/Department/edit?id=<?php echo $value['id']?>">编辑</a>
</td>
</tr>
<?php }?>
</tbody>