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

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

這裡做的是:基於角色的存取控制(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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

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