国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

無(wú)限極菜單展示

php中文網(wǎng)
發(fā)布: 2016-10-12 09:50:12
原創(chuàng)
1932人瀏覽過(guò)

在開(kāi)發(fā)項(xiàng)目當(dāng)中,后臺(tái)無(wú)限極菜單的展示是無(wú)可避免的,而且也很常見(jiàn)。一般后臺(tái)菜單也就是分為兩級(jí),最多三級(jí),但是也有可能有多級(jí)。今天就做一個(gè)無(wú)限極菜單的實(shí)現(xiàn)過(guò)程的記錄。

這里做的是:基于角色的訪問(wèn)控制(Role-Based Access Control),在RBAC中,權(quán)限與角色相關(guān)聯(lián),用戶通過(guò)成為適當(dāng)角色的成員而得到這些角色的權(quán)限。這就極大地簡(jiǎn)化了權(quán)限的管理。在一個(gè)組織中,角色是為了完成各種工作而創(chuàng)造,用戶則依據(jù)它的責(zé)任和資格來(lái)被指派相應(yīng)的角色,用戶可以很容易地從一個(gè)角色被指派到另一個(gè)角色。角色可依新的需求和系統(tǒng)的合并而賦予新的權(quán)限,而權(quán)限也可根據(jù)需要而從某角色中回收。角色與角色的關(guān)系可以建立起來(lái)以囊括更廣泛的客觀情況。

先介紹下表結(jié)構(gòu):

CREATE TABLE `sp_auth` (
`auth_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`auth_name` varchar(30) NOT NULL COMMENT '權(quán)限名稱',
`action_name` varchar(30) NOT NULL COMMENT '權(quán)限代碼',
`desc` varchar(120) NOT NULL DEFAULT '' COMMENT '權(quán)限描述',
`pid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '上級(jí)權(quán)限ID',
`sort_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '權(quán)限排序值',
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加時(shí)間',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否刪除(0 未刪除 | 1 已刪除)',
PRIMARY KEY (`auth_id`),
UNIQUE KEY `action_name` (`action_name`),
KEY `pid` (`pid`),
KEY `add_time` (`add_time`),
KEY `is_delete` (`is_delete`),
KEY `controller_name` (`controller_name`(6)),
KEY `auth_name` (`auth_name`(16)),
KEY `sort_id` (`sort_id`)
) ENGINE=MyISAM AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='權(quán)限表';

處理的方法:

//打印無(wú)限極樹(shù)形結(jié)構(gòu)菜單展示<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 />//打印二級(jí)菜單的方法
登錄后復(fù)制
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 />            //再次遍歷,將第二級(jí)別的放在作為其子菜單<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 />}
登錄后復(fù)制

這樣就能夠獲取展示的菜單數(shù)據(jù)。

最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來(lái)源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問(wèn)題
開(kāi)源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)