Как организовать «виртуальные» папки?

Есть у меня на сайте файлообменник. Он всегда имел основную директорию с файлами. Для удобства решил сделать возможность создавать "виртуальные" папки, с возможностью вложения одной в другую и т.д....
Как я сейчас реализовал:
CREATE TABLE IF NOT EXISTS `pathUsers` (
`id` int(11) NOT NULL,
  `name` text NOT NULL,
  `userID` int(11) NOT NULL,
  `inPath` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

INSERT INTO `pathUsers` (`id`, `name`, `userID`, `inPath`) VALUES
(22, 'Избранное', 6482, 0);

ALTER TABLE `pathUsers`
 ADD PRIMARY KEY (`id`);

Таблица содержит созданные пользователем папки.
Идентификатор, имя папки и идентификатор папки, в которую вложена текущая папка.

Но пользователь может создать ведь и цепочку из кучи папок. И мне нужно как-то правильно её построить.
Но пока не могу сообразить как именно это сделать.
Допустим пользователь вошел в папку, затем в ней еще в одну, а потом в той еще в другую и т.д. Как выстроить цепочку, чтобы пользователь находясь в "глубине" мог перемещаться по папкам которые находятся раньше, а не только в главную директорию?
Типа так: Главная папка -> Вложенная папка -> Вложенная во вложенную и т.д.
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AndryG
Типа так: Главная папка -> Вложенная папка -> Вложенная во вложенную и т.д.


это называется "хлебные крошки" - каждое название папки является ссылкой на страницу с содержанием папки.

Список родителей добыть серией запросов либо рекурcивным
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы