首頁 php教程 php手册 無限極菜單展示

無限極菜單展示

Oct 12, 2016 am 09:50 AM

在開發專案當中,後台無限極菜單的展示是無可避免的,而且也很常見。一般後台選單也就是分成兩級,最多三級,但也有可能有多級。今天就做一個無限極菜單的實現過程的記錄。

這裡做的是:基於角色的存取控制(Role-Based Access Control),在RBAC中,權限與角色相關聯,使用者透過成為適當角色的成員而得到這些角色的權限。這就大大簡化了權限的管理。在一個組織中,角色是為了完成各種工作而創造,使用者則依據它的責任和資格來被指派相應的角色,使用者可以輕易地從一個角色被指派到另一個角色。角色可依新的需求和系統的合併而賦予新的權限,而權限也可依需求而從某一角色回收。角色與角色的關係可以建立起來以囊括更廣泛的客觀情境。

先介紹下表結構:

CREATE TABLE `sp_auth` (
`auth_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`auth_name` varchar(30) NOT ',
`desc` varchar(120) NOT NULL DEFAULT '' COMMENT '權限描述',
`pid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '上級權限ID',
`sort_id` smallint( ) unsigned NOT NULL DEFAULT '0' COMMENT '權限排序值',
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '新增時間',
`update_time` timestamp NOT NEST更新時間',
`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否刪除(0 未刪除| 1 已刪除)',
PRIMARY KEY (`auth_id`),EY `action_name`),
KEY `pid` (`pid`),
KEY `add_time` (`add_time`),
KEY `is_delete` (`is_delete`),
KEY `controller_name` (`controller_name`(`66) ),
KEY `auth_name` (`auth_name`(16)),
KEY `sort_id` (`sort_id`)
) ENGINE=MyISAM AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='nutf8
處理的方法:

//打印无限极树形结构菜单展示<br>    function _reSorts($data, $pid=0)<br>    {<br>        $ret = array();<br>        foreach ($data as $k => $v) {<br>            if($v['pid'] == $pid) {<br>                $v['children'] = _reSorts($data, $v['auth_id']);<br>                $ret[] = $v;<br>            }<br>        }<br>        return $ret;<br>    }<br>//打印二级菜单的方法
登入後複製
function getMenuShow($data)<br>{<br>    $ret = array();<br>    if (!is_array($data)) {<br>        return false;<br>    }<br>    foreach ($data as $key => $val) {<br>        if ($val['pid'] == 0) {<br>            //再次遍历,将第二级别的放在作为其子菜单<br>            foreach ($data as $k => $v) {<br>                if ($v['pid'] == $val['auth_id']) {<br>                    $val['children'][] = $v;<br>                }<br>            }<br>            $ret[] = $val;<br>        }<br>    }<br>    return $ret;<br>}
登入後複製
這樣就能夠取得展示的選單資料。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)