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