Есть у меня на сайте файлообменник. Он всегда имел основную директорию с файлами. Для удобства решил сделать возможность создавать "виртуальные" папки, с возможностью вложения одной в другую и т.д....
Как я сейчас реализовал:
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`);
Таблица содержит созданные пользователем папки.
Идентификатор, имя папки и идентификатор папки, в которую вложена текущая папка.
Но пользователь может создать ведь и цепочку из кучи папок. И мне нужно как-то правильно её построить.
Но пока не могу сообразить как именно это сделать.
Допустим пользователь вошел в папку, затем в ней еще в одну, а потом в той еще в другую и т.д. Как выстроить цепочку, чтобы пользователь находясь в "глубине" мог перемещаться по папкам которые находятся раньше, а не только в главную директорию?
Типа так: Главная папка -> Вложенная папка -> Вложенная во вложенную и т.д.