[NON RESOLU] affichage récursif du contenu d'un groupe d'elements pouvant contenir d'autres grou | Titre du sujet : [NON RESOLU] affichage récursif du contenu d'un groupe d'elements pouvant contenir d'autres grou par sm@rt-IT sur 01/11/2006 18:29:43
Bonjour, finalement, j'ai trouvé un problème, lorsqu'un groupe contient plusieurs autres groupes, cela ne fonctionne pas. Voici mon code:Citation : function TableauElements($groupe) // Reçoit le nom d'un groupe et renvoie, dans la variable globale $tableauE, tous les éléments contenus dans ce groupe { global $tableauE; $tableauE = array(); static $i=0; $where = ''; if (isset($groupe)) $where = "WHERE ZONENAME = '$groupe'"; else $where = "WHERE ZONENAME = 'RACINE'"; $sql = 'SELECT * FROM ZONE_ELEMENT '.$where.' ORDER BY NAME_ITEM'; $result = mysql_query($sql); if (!$result) { return false; } while ($myrow = mysql_fetch_Array($result)) { if ($myrow['TYPE'] == 'Z'){ TableauElements($myrow['NAME_ITEM']); } else { $tableauE[$i]= $myrow['NAME_ITEM']; //on met le nom de l'élément dans le tableau $i++; } } sort ($tableauE); //trie les éléments par ordre alphabétique return true; }
?>
Voici le contenu de ma table Citation : ID | ZONENAME | NAME_ITEM | TYPE 8 | 3 | 2 | Z 6 | 2 | 1 | Z 79 | 1 | ELEMENT1 | E 83 | 3 | 4 | Z 76 | 4 | ELEMENT2 | E à lire comme ceci: Citation : le groupe 3 contient le groupe 2 Le groupe 2 contient le groupe 1 Le groupe 1 contient l'élément ELEMENT1 Le groupe 3 contient le groupe 4 LE groupe 4 contient l'élément ELEMENT2
Donc le groupe 3 contient le groupe 2 (et son contenu) et le groupe 4. Mais lorsque j'appelle la fonction avec le groupe 3 en paramètre, je ne reçois que le contenu de la zone 4 càd ELEMENT2. Si quelqu'un pouvait me dire comment modifier le code afin que tous les groupes soient pris en compte, cela serait super sympa! (help
|
|