Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как объединить несколько таблиц? 
:(
    Опции темы
saylar06
Дата 1.11.2015, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.5.2011

Репутация: нет
Всего: нет



Код

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
PM MAIL   Вверх
Akina
Дата 1.11.2015, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Создание структуры БД без проработки предметной области, выделения сущностей, атрибутов, связей и процессов? флаг в руки... 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0689 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.