Bonjour à tous,
Je pose ma question ici car je me demande si une des solutions possibles ne pourraient pas venir de la refonte de mes bases.
J'explique le cas :
Dans le cadre d'un outil collaboratif en ligne, l'utilisateur autorisé pourrait créer des dossiers dans lequel seraient uploadés des fichiers. La profondeur d'arborescence n'est pas limitée (et c'est là que le bas blesse à mon sens). exemple :
Dans la base, la table 'dossiers' contient les champs suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dossier id=1 Dossier id=2 Dossier id=3 Dossier id=6 Dossier id=4 Dossier id=5
- id (int primaire) ; nom(VC) ; description(TEXT) ; depth (int) // profondeur ; parent (id reference à un autre dossier de cette table)
Le tout est gérée par une classe 'dossier' en PHP
Le problème consiste à afficher sous forme d'arborescence les dossiers. Une liste simple c'est facile, une liste triée par niveau (depth) c'est facile, une liste d'un dossier avec ses enfants ok mais à condition de savoir où on commence. Savoir où en est de la profondeur max c'est facile. Mais comme elle n'est pas fixe, comment écrire mes boucles pour au finir écrire une liste html qui ordonne tout ça (sans parler d'une incrémentatin visuelle )
Je sèche, c'est de la logique (algorithme même) mais je sèche
Peut-être n'y-a-t'il pas de solutions sans limiter la profondeur ?
Merci de m'éclairer de vos lumières.
Partager