Структура сайта, множество вложений не ограничивается:Новости
О фирме
Каталог
> Компьютеры
> Комплектующие
> > Процессоры
> > > Современные
> > > Устаревшие
> > Материнские платы
> > Видеокарты
> Бытовая техника
Контакты
ИЛИ в таком виде, множество вложений не ограничивается:
Новости
О фирме
Каталог
Каталог / Комплектующие
Каталог / Комплектующие / Процессоры
Каталог / Комплектующие / Процессоры / Современные
Каталог / Комплектующие / Процессоры / Устаревшие
Каталог / Комплектующие / Материнские платы
Каталог / Комплектующие / Видеокарты
Контакты
Таблица в БД MySQL
+---------+----------+----------------+-------------------+
| LevelID | LevelNum | LevelNumParent | LevelName |
+---------+----------+----------------+-------------------+
| 1 | 1 | 0 | Новости |
| 2 | 1 | 0 | О фирме |
| 3 | 1 | 0 | Каталог |
| 4 | 1 | 0 | Контакты |
| 5 | 2 | 3 | Компьютеры |
| 6 | 2 | 3 | Комплектующие |
| 7 | 2 | 3 | Бытовая техника |
| 8 | 3 | 6 | Процессоры |
| 9 | 3 | 6 | Материнские платы |
| 10 | 3 | 6 | Видеокарты |
| 11 | 4 | 8 | Современные |
| 12 | 4 | 8 | Устаревшие |
+---------+----------+----------------+-------------------+
Как получить правильно отсортированный список каталогов имея на входе ID каталога, например 12 (Устаревшие):
Каталог
Комплектующие
Процессоры
Устаревшие
Не хочется использовать цикличные, множественные SQL-запросы при более "глубоких" вложениях в структуре.
Может для реализации использовать другю структуру таблицы БД
Заранее спасибо за ответы!
P.S. Сайт работает на PERL