CREATE TABLE IF NOT EXISTS `prefix_categories` (
`cat_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`num_sort` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`cat_id`),
UNIQUE KEY `slug` (`slug`),
UNIQUE KEY `num_sort` (`num_sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `prefix_link` (
`link_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`num_sort` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`link_id`),
UNIQUE KEY `slug` (`slug`,`num_sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `prefix_menu` (
`menu_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`slug` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`menu_id`),
UNIQUE KEY `slug` (`slug`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `prefix_pages` (
`page_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`parent_id` int(11) unsigned NOT NULL,
`num_sort` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`page_id`),
UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `prefix_menu` (
`menu_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`slug` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`menu_id`),
UNIQUE KEY `slug` (`slug`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO `prefix_menu` (`menu_id`, `slug`, `name`) VALUES (1, 'main', 'главное');
Доброго времени суток! Выше привел созданную мной БД
Подскажите как реализовать меню на основе этих таблиц?
есть категории/страницы/ссылки разумеется поля у них тоже будут добавляться но четыре стандартных все же будут, хотелось бы не просто склеить их а вывести иерархию к примеру:
категория
--ссылка
----категория
--страница
ссылка
--категория
----страница
------ссылка
----страница
как реализовать задуманное?
Для начала архитектуру БД и сам запрос, можно ли это сделать одним запросом?
Подскажите актуальный запрос к БД, в идеале хотелось бы делать выборку по prefix_menu.slug