我正在使用PHP和MySQL構建管理面板的菜單。每個菜單項都是一個MySQL記錄。使用PHP和MySQL以數據庫驅動菜單項以每個用戶爲基礎可見?
我需要能夠爲每個用戶設置每個菜單記錄/項目的可見性。
我意識到大多數人會在「用戶羣」的基礎上做,但是我的老闆要求每個菜單項都以個人爲單位來確定誰可以查看哪些菜單項。
我知道如何非常容易地製作一個基於每個用戶組的基於可見性的數據庫驅動菜單,但我不知道如何去做每個用戶的基礎上?
如果數據庫中有20個菜單項和20個用戶。我需要能夠設置設置/權限以指示每個用戶是否可以查看或不查看每個單獨的菜單項記錄。
任何想法和幫助如何看待MySQL數據庫結構?
這是我當前菜單SQL架構...
CREATE TABLE IF NOT EXISTS `intranet_links` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
`description` text NOT NULL,
`url` varchar(255) DEFAULT NULL,
`permission` varchar(50) NOT NULL DEFAULT 'admin',
`notes` text,
`active` int(2) NOT NULL DEFAULT '1',
`sort_order` int(11) DEFAULT NULL,
`parent_id` int(10) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
菜單系統會像下面這個圖片。將有父菜單項和子菜單項,這使得上級菜單記錄像一個文件夾/目錄...
上述20位用戶各自的權限是否不同? – Maximus2012
一個將用戶的表加入用戶標識的表。該表中每個鏈接都可以接受BOOLEAN的列。 –
怎麼樣一個簡單的地圖表與2列:用戶和菜單項ID的? –