Ordonné une liste de type mére-fille :lol:

ZIGUN
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 12:15

:D Bonjour, :)

j'ai une liste de "dossier" et "sous-dossier".
Je souhaite faire apparaitre les "sous-dossier" sous les "dossiers" correspondant.
Mes données concernant mes "dossiers" se trouve en base sur une seule table. La structure de cette table est

Code : Tout sélectionner

Id auto-incrémenté Folder Nom du dossier Level Niveau de hiérarchisation où 0 est la racine App correspond a l'id du dossier "pére"
J'ai fait un tableau pour stocker les données et les trier... sauf que je ne sais pas comment trier ce tableau.
Mon tableau est du type

Code : Tout sélectionner

Array ( [0] => Array ( [0] => 1 [1] => Tous [2] => 0 [3] => 0 ) [1] => Array ( [0] => 2 [1] => DOSSIER1[2] => 1 [3] => 1 ) [2] => Array ( [0] => 4 [1] => DOSSIER2 [2] => 1 [3] => 1 ) [3] => Array ( [0] => 3 [1] => SOUS-DOSSIER1 sous DOSSIER1 [2] => 2 [3] => 2 ) [4] => Array ( [0] => 5 [1] => SOUS-DOSSIER1 sous DOSSIER2[2] => 4 [3] => 2 ) [5] => Array ( [0] => 6 [1] => SOUS-DOSSIER1 sous DOSSIER1 [2] => 2 [3] => 2 ) [6] => Array ( [0] => 7 [1] => SOUS-DOSSIER1 sous DOSSIER2[2] => 4 [3] => 2 ) [7] => Array ( [0] => 8 [1] => Sous UNAF/ASSOCIATION2 [2] => 6 [3] => 3 ) )
Merci d'avance pour votre aide :D
:P [/code]

Mammouth du PHP | 19672 Messages

27 déc. 2005, 13:54

Il va falloir passer par une fonction récursive de tri de ton tableau, en clair, une fonction qui s'appelle elle-même

Très sommairement, tu dois récupérer ta liste sommairement triée sur l'id et ensuite pour chaque ligne, vérifier si l'id parent de la ligne traitée correspond à l'id de la ligne qui a déclenché l'appel récursif ou à 0.

C'est un peu abstrait comme concept j'en conviens, mais c'est la seule manière que je connaisse de résoudre ton problème.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

27 déc. 2005, 14:43

Le pb c'est que je ne sais pas manipuler les tableaux.
Je sais que le tableau est LA solution mais aprés je ne gére plus du tout
...:::ZIG1:::...