|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() |
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 : Code :
- 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.
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
|
||
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 338 ![]() |
__________________
Stay in Bed .. Save Energy |
|
|
00
|
|
|
#3 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Un article de MySQL qui réponds à ta question pour peu que tu comprennes l'anglais: http://dev.mysql.com/tech-resources/...ical-data.html
Quand à l'algorithmie, c'est un cas d'école de récursivité. Tu trouvera j'en suis sûr tout un tas de ressources et autre tutoriels sur internet pour comprendre ça Enjoy
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() |
Excellent !!
Merci pour ces deux réponses complémentaires !
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
|
|
00
|
Copyright © 2000-2012 - www.developpez.com