Im la construction d'un gestionnaire de fichiers qui permet aux utilisateurs de créer des dossiers dans les dossiers (dans les dossiers) pour stocker leurs fichiers. Je n'ai pas vraiment limité la profondeur des dossiers, mais je vais probablement en faire 10 ou quelque chose comme ça.dossier récursive liste dans un menu déroulant, en php
Comment pourrais-je énumérer tous les dossiers (dans une arborescence) dans le menu déroulant, comme ça?
/
/Folder 1
/Folder 2
/Child of folder 2
/Child of child of folder 2
/Another Child of of folder 2
/Folder 3
(peut-être un peu plus joli).
J'utilise MySQL pour stocker les données de dossier
CREATE TABLE IF NOT EXISTS `folders` (
`f_id` int(11) NOT NULL AUTO_INCREMENT,
`f_parent` int(11) NOT NULL,
`f_owner` int(11) NOT NULL,
`f_name` varchar(255) NOT NULL,
`f_desc` varchar(1000) NOT NULL,
`f_added` int(11) NOT NULL,
`f_files` int(11) NOT NULL,
`f_private` int(1) NOT NULL,
`f_password` varchar(255) NOT NULL,
PRIMARY KEY (`f_id`),
UNIQUE KEY `f_parent` (`f_parent`,`f_owner`,`f_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Je vous suggère de considérer une structure de données alternative. Voir http://dev.mysql.com/tech-resources/articles/hierarchical-data.html – Artefacto
@Artefacto (et tout le monde à lire ce autre): Cet article est maintenant à http://mikehillyer.com/articles/managing- hiérarchique-données-dans-mysql /. –