1:数据在列表页面的展示:
php页面:
/* 列表分类树 $arr 数组 $id 父类id $lev 级别 $cid 分类表自增id */ function subtree($arr,$id=0,$lev=1,$cid='id') { static $subs = array(); foreach ($arr as $v) { if ($v['pid'] == $id) { $v['level'] = $lev; $subs[] = $v; subtree($arr,$v[$cid],$lev+2); } } return $subs; }
html页面: <td> <i class="ace-icon fa fa-pencil-square-o" style="margin-left:{$val.level}em;margin-right: 5px;"></i>{$val.dic_key} </td>
2:无限极分类的添加和修改:
php页面:
/* 获取全部分类并缩进 $parentid 父类is $tab 级别 $chekedid 选中分类 $table 分类表名 */ function folder($parentid = 0, $tab = 0,$chekedid,$table = "dic_data"){ $ini['status'] = 1; $ini['pid'] = $parentid; $cateinfo = \think\Db::name($table)->where($ini)->select(); $option .= ""; foreach($cateinfo as $k=>$v){ $selected = ""; if($chekedid == $v['id']){ $selected = "selected"; } $option .="<option $selected value=".$v['id'].">".str_repeat(' ', $tab).$v['dic_key']."</option>"; $option .= folder($v["id"], $tab + 1,$chekedid,$table); } return $option; }
html页面:
<div class="col-sm-9"> <select class="form-control" style="width: 420px;" name="pid" id="pid"> <option value='0'>≡请选择≡</option> {:folder(0,0,$disctarr['pid'],'dic_data')} </select> </div>