Я создаю меню для панели администратора с использованием PHP и MySQL. Каждый элемент меню является записью MySQL.Сделать базы данных управляемыми элементами меню, видимыми для каждого пользователя, используя PHP и MySQL?
Мне нужно уметь устанавливать видимость каждой записи/элемента меню для каждого пользователя.
Я понимаю, что большинство людей будут делать это на основе «группы пользователей», однако мой босс требует, чтобы каждый элемент меню находился на индивидуальном уровне для каждого человека, чтобы определить, кто может просматривать какие пункты меню.
Я знаю, как довольно легко сделать меню с управляемой базой данных с видимостью на основе каждой группы пользователей, но я не уверен, как это сделать для каждого пользователя?
Если в базе данных имеется 20 пунктов меню и 20 пользователей. Мне нужно будет установить параметр/разрешение, чтобы указать, могут ли каждый пользователь просматривать или не просматривать каждую отдельную запись элемента меню.
Любые идеи и помощь в том, как это может выглядеть в структуре базы данных MySQL?
Вот мое текущее меню SQL Schema ...
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. –
Как насчет прямой таблицы карт с двумя столбцами: идентификатор пользователя и элемента меню? –