getAll($sql);$g_db->close();$list=roletree($roles,0);//调用函数按父级id进行"/> getAll($sql);$g_db->close();$list=roletree($roles,0);//调用函数按父级id进行">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  无限极分类且排序的方法介绍

无限极分类且排序的方法介绍

巴扎黑
巴扎黑asal
2017-07-18 17:27:561265semak imbas

首先数据表类似于这样,然后进行数据查询获取所有的数据

 

$sql   ="select * from ec_admin_role  where ar_state=1 order by ar_level";
$roles = $g_db->getAll($sql);
$g_db->close();
$list=roletree($roles,0);//调用函数按父级id进行排序
foreach($list as $k=>$v) {
$list[$k][&#39;ar_name&#39;] = str_repeat(&#39;----&#39;,$v[&#39;ar_level&#39;]).$v[&#39;ar_name&#39;].&#39;<br>&#39;;
}


//将角色经排序
function roletree($arr,$id=0) {
    $subs = array(); // 子孙数组
    foreach($arr as $v) {
        if($v[&#39;ar_parent_id&#39;] == $id) {
            $subs[] = $v;
            $subs = array_merge($subs,roletree($arr,$v[&#39;ar_id&#39;]));
        }
    }
    return $subs;
}

  然后在静态页面循环输出,效果如下:

显示效果谁添加下级,那个下级就紧挨着谁

 

Atas ialah kandungan terperinci 无限极分类且排序的方法介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:霍纳法则Artikel seterusnya:php实现FastCGI协议的深入了解