8795 sujets

Développement web côté serveur, CMS

Bonjour,
Ci-dessous la structure et le contenu d'un tableau multi-dimensionnel à n niveau,
je souhaite afficher le contenu dans un tableau html.
Mon problème est que je n'arrive pas à créer la ou les boucles
nécessaires.

(
    id => FR33371982
    nom => Eric
    prenom => ROSTANT
    nveau => 0
    children => Array
        (
            0 => Array
                (
                    id => FR33371981
                    nom => FRED
                    prenom => Le Moine
                    nveau => 0
                    children => Array
                        (
                          [0] => Array
                                (
                                     Smiley id  => FR33586417
                                     Smiley nom  => Nacer
                                     Smiley prenom  => Aly
                                     Smiley nveau  => 0
                                     Smiley children  => Array
                                        (
                                        )
                        )

                )
 Array
(
    [id] => FR33586425
    [nom] => Alex
    [prenom] => Santhune
    [nveau] => 0
    [children] => Array
        (
            [0] => Array
                (
                    [id] => FR33356425
                    [nom] => Golovine
                    [prenom] => Tatiana
                    [nveau] => 0
                    [children] => Array
                        (
                        )

                )

Modifié par Comodo (28 Feb 2014 - 11:09)
Bonjour,

De façon à rendre ton code plus simple à lire et maintenable à ta place je regrouperai tout dans une fonction.

<?php
	function creerTableau($champs, $valeurs)
	{
		$tableau = array();
		$i=0;
		 foreach($valeurs as $valeur)
		{
			$tableau.push($champ[$i] => $valeur);
			$i++;
		}
		return $tableau;
	}
?>

$champs_enfant = array("id,"prenom","nom","niveau","children");
$valeurs_enfant = array(1, "Nacer", "Aly", 0, "add");
$enfant1 = creerTableau($champs_enfant, $valeurs_enfant);

$parent = creerTableau(1, "Eric", "Rostant", 0, $enfant1); /* L'enfant 1 a été ajouté à l'intérieur du parent
De même, si l'enfant contient d'autres tableaux, il devient facile de les ajouter de la même façon.*/


C'est un exemple en PHP, tu peux bien entendu l'adapter au langage de programmation que tu utilises.

Tu peux ensuite créer une autre fonction qui vérifie à chaque parcours de la boucle si le type de la valeur est de type "Array", et si c'est le cas appeller une nouvelle boucle imbriquée et afficher le code HTML en conséquence.
Modifié par ohweb (28 Feb 2014 - 11:34)