ThinkPHP/---递归无限极分类

Model

public function tree()

{
$where['status'] =['neq',-1];
$data = $this->where($where)->paginate()->toArray()['data'];
$list = $this->getChilds($data);
return $list;
}

public function getChilds($data,$pid = 0,$level = 0)
{
$trees = [];
foreach ($data as $k => $v) {
if ($v['parent_id'] == $pid) {
unset($data[$k]);
$v['level']=$level;
$v['childs'] = self::getChilds($data,$v['id'],$level+1 );
$trees[] = $v;
}
}
return $trees;

}

Controller
public function index()
{
$data = input('param.');
$data = model('category')->tree();
$this->assign('data_list',$data);
return $this->fetch();
}

view
{php}
function temp_tree($data, $level = 0) {
$separ = '';
if ($level > 0) {
for ($i=0; $i < $level; $i++) {
$separ .= '&nbsp;&nbsp;&nbsp;&nbsp;';
}
$separ .= '┣&nbsp;';
}
foreach($data as $k => $vo) {
{/php}

<tr cate-id='1' fid='0' >
<td>
<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>
</td>
<td>{$vo.id}</td>
<td>
{if condition="$vo.parent_id ==0"}
<i class="layui-icon x-show" status='true'>&#xe623;</i>
{/if}
{$separ}{$vo.category_name}
</td>
<td><input type="text" class="layui-input x-sort" name="order" value="1"></td>
<td>
<input type="checkbox" name="switch" lay-text="开启|停用" checked="" lay-skin="switch">
</td>
<td class="td-manage">
<button class="layui-btn layui-btn layui-btn-xs" οnclick="x_admin_show('编辑','admin-edit.html')" ><i class="layui-icon">&#xe642;</i>编辑</button>
<button class="layui-btn layui-btn-warm layui-btn-xs" οnclick="x_admin_show('编辑','admin-edit.html')" ><i class="layui-icon">&#xe642;</i>添加子栏目</button>
<button class="layui-btn-danger layui-btn layui-btn-xs" οnclick="member_del(this,'要删除的id')" href="javascript:;" ><i class="layui-icon">&#xe640;</i>删除</button>
</td>
</tr>
{php}
if (isset($vo['childs'])) {
echo temp_tree($vo['childs'], $level + 1);
}
}
}
echo temp_tree($data_list);
{/php}



 
 

 

转载于:https://www.cnblogs.com/Gupq/p/10096610.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值