furil | Bonjour, Voilà donc la solution pour ceux qui auront le même problème que moi dans le future : Code :
- //Creation d'un array qui sera encodé pour le js parent-child org
- $JsonArray = array();
- while($parentServ = mysql_fetch_assoc($sqlCDS))
- {
- $temp2 = array(
- "id" => $parentServ["No_agent"]
- ,"name" => $parentServ["nom_agent"]
- );
- //echo $temp['id'];
- //echo $temp['name'];
- $children = array();
- $children2 = array();
- $ant = array();
- //On exécute la requête permettant de récupérer tous les enfants
- while ($childServ = mysql_fetch_assoc($sqlAGENT))
- {
- $children[] = array(
- "id" => $childServ["No_agent"]
- ,"name" => $childServ["nom_agent"]
- );
- //echo $temp['id'];
- //echo $temp['name'];
- }
- //-------------------------------------------------
- //$temp[] = $children;
- //$JsonArray[] = $temp;
- //Déclaration de la structure qui va regrouper les antennes
- $ant = array(
- "id" => "1"
- ,"name" =>"Antennes"
- );
- //On execute la requête permettant d'avoir tous les terrains de jeux
- while($childServAnt = mysql_fetch_assoc($sqlAntenne))
- {
- $children2[] = array(
- "id" => $childServAnt["No_antenne"]
- ,"name" => $childServAnt["Lib_antenne"]
- );
- }
- //-----------------------------------------------
- $ant['children'] = $children2; //on stocke les terrains de jeux dans "Antennes"
- $children[] = $ant; //on met "Antennes" au même niveau que les enfants
- //Insertion des données dans une structure commune
- $JsonObj['id'] = $temp2['id'];//stockage du 1er paramètre du parent
- $JsonObj['name'] = $temp2['name']; // 2nd paramètre du parent
- $JsonObj['children']=$children; // tous le reste : tata,titi, Antennes(...)
- }
- //encodage des données au format JSON
- echo json_encode($JsonObj);
| ce qui va nous donner ce résultat : Code :
- {"id":"1234","name":"Furil","children":[
- {"id": "123", "name":"Jean"},
- {"id": "124", "name":"toto"},
- {"id": "125", "name":"titi"},
- {"id": "126", "name":"tete"},
- {"id": "127", "name":"Antennes","children":[
- {"id":"128","name":"gymnase"},
- {"id":"129","name":"stade"},
- {"id":"130","name":"ecole"}
- ]}
- ]}
| En faites la création d'ensemble de structure n'est pas un problème, il fallait juste faire attention au nombre de niveau crée lors la création des tableaux associatifs(tableau composé obligatoirement de la paire clé/valeur ex : "id"=>"1" ). Par niveau, je veux dire lorsqu'on insère un tableau dans un autre. C'est là qu'il faut faire attention . Par exemple si j'avais fait : Code :
- $ant[] = array(
- "id" => "1"
- ,"name" =>"Antennes"
- );
| Au lieu de : Code :
- $ant = array(
- "id" => "1"
- ,"name" =>"Antennes"
- );
| mon résultat aurait été :
Code :
- {"id":"1234","name":"Furil","children":[
- {"id": "123", "name":"Jean"},
- {"id": "124", "name":"toto"},
- {"id": "125", "name":"titi"},
- {"id": "126", "name":"tete"},{"0":
- {"id": "127", "name":"Antennes"},"children":[
- {"id":"128","name":"gymnase"},
- {"id":"129","name":"stade"},
- {"id":"130","name":"ecole"}
- ]}
- ]}
| Voilà j'espère avoir bien expliquer pour ceux qui en auront besoin. Merci et bonne journée ! Message édité par furil le 11-07-2013 à 08:24:03
|