crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Хранение дерева в таблице mySQL
NetWorm
  опции профиля:
сообщение 21.9.2012, 20:50
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 2.8.2011
Пользователь №: 2784

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вобщем имеется древовидная структура. Пример зал театра.

Основной зал
|-Амфитеатр левая сторона
|-Ряд 01
|-Ряд 02
|-Ряд 03
|-Амфитеатр правая сторона
|-Ряд 01
|-Ряд 02
|-Ряд 03

Вот суть такая. Это можно представить в виде одной таблицы с полями..
id, name, parent

В данном случае она будет выглядеть вот так
id|Name |parent
1|Основной зал |NULL - т.е. самый верхний уровень
2|Амфитеатр левая сторона|1 - ссылка на верхний уровень
3|Ряд 01 |2 - ссылка на "Амфитеатр левая сторона"
4|Ряд 02 |2 - ссылка на "Амфитеатр левая сторона"

Вопрос. Как мне получить данные например Ряд 01 | Основной зал. т.е. получить через Ряд 01 мы можем получить строку Амфитеатр, а через амфитеатр можем получить Основной зал.

Сложность в том что уровней может быть разное количество.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.9.2012, 16:23
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


NetWorm, глянь вот тут http://club.shelek.ru/view.php?id=57 статьи
"MySQL. Иерархические запросы."
и
"MySQL. Деревья. Добавление материализованного пути к паре id—parent_id."
- вроде как раз об этом
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 0:57