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 ;
Доброго времени суток! Выше привел созданную мной БД
Подскажите как реализовать меню на основе этих таблиц?
есть категории/страницы/ссылки разумеется поля у них тоже будут добавляться но четыре стандартных все же будут, хотелось бы не просто склеить их а вывести иерархию к примеру:
категория
ссылка
категория
страница
ссылка
категория
страница
ссылка
страница
как реализовать задуманное? Для начала архитектуру БД и сам запрос, можно ли это сделать одним запросом? и какую нагрузку будет давать этот запрос?