我正在使用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的? –