Bonjour à tous,
voila mon problème, j'ai une liste de Poles d'une entreprise et je souhaiterais afficher cette liste sous la forme d'une arborescence de ce type :
PoleParent1
-PoleEnfant1
-PoleEnfant2
-PoleEnfant3
PoleParent2
-PoleEnfant1
-PoleEnfant4
....
la table est sur un SQL Server : Pole_v2(ID,Label,PoleParent,IDAgentResp)
J'ai donc réussi a le faire pour seulement 2 niveaux, lorsque je suis passé au 3ème cela a provoqué un problème avec la boucle car les 2 derniers poles sont affichés 5 fois au lieu d'une seule.
Voici mon code :
Code :
- $sqlparent = "select distinct(Label),ID,PoleParent from Pole_v2";
- $valparent = mssql_query($sqlparent);
- while ($result = mssql_fetch_array($valparent))
- {
- if($result['PoleParent'] == "" )
- {
- $idPoleParent = $result['ID'];
- echo '<li>'.$result['Label'].'</li>';
- }
- $sqlEnfant = "Select ID,Label from Pole_v2 where PoleParent='$idPoleParent'";
- $valEnfant = mssql_query($sqlEnfant);
- while ($result2 = mssql_fetch_array($valEnfant))
- {
- $idPoleParent2 = $result2['ID'];
- echo '<dd>'.$result2['Label'].'</dd>';
- }
- $sqlEnfant2 = "Select ID,Label from Pole_v2 where PoleParent='$idPoleParent2'";
- $valEnfant2 = mssql_query($sqlEnfant2);
- while ($result3 = mssql_fetch_array($valEnfant2))
- {
- echo '<dd><dd>'.$result3['Label'].'</dd></dd>';
- }
- }
|
Si vous avez une idée pour que mon code fonctionne ou une autre manière de procéder ?
Merci par avance
Message édité par killingspree le 22-02-2008 à 10:25:22