Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2011, 17h26   #1
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut Problème de logique

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 :
1
2
3
4
5
6
Dossier id=1
    Dossier id=2
    Dossier id=3
        Dossier id=6
Dossier id=4
    Dossier id=5
Dans la base, la table 'dossiers' contient les champs suivants :
- 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"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 17h34   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
http://pbnaigeon.developpez.com/tuto...ite-dynamique/

je pense cela peux t'aider
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 18h32   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 19h22   #4
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Excellent !!
Merci pour ces deux réponses complémentaires !
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web