Bonjour,

Voilà je cherche à faire un organigramme dynamique et j'ai découvert un super outil : Javascript Infovis Toolkit qui répond à tous les besoin de mon tuteur de stage dont voici la partie de code qui nous intéresse :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    function init(){
        //init data
        var json = {
            id: "node02",      //   #Id correspondant au nom du parent
           name: "0.2",        //  # Nom du parent
            data: {},
            children: [{
            id: "node13",           //          #Id correspondant au nom de l'enfant
           name: "1.3",            //          #Nom de l'enfant
                data: {},
                children: [{
                    id: "node24",
                    name: "2.4",
                    data: {},
                    children: [{

La structure que l'on voit est pour le moment statique, j'aimerai pouvoir changer quelques valeurs comme celle de name : "1.3" la mettre a "toto" par exemple. Les données que je vais utiliser proviennent d'une base de donnée SQL. Pour résoudre cela j'ai crée un petit script php :

org.php

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
while($parentServ = mysql_fetch_assoc($sqlCDS)) 
{
	$temp2 = array(
		"id" => $parentServ["No_agent"]
		,"name" => $parentServ["nom_agent"]
	);
	#echo $temp['id'];
	#echo $temp['name'];
	$children = array();
	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;
	$JsonObj['id'] = $temp2['id'];
	$JsonObj['name'] = $temp2['name'];
	$JsonObj['children']=$children;
}
#echo'</table>';
echo json_encode($JsonObj). "<br />";
?>

Lorsque je regarde l'affichage du résultat j'obtiens la bonne structure. Après le problème est ici :

test.js

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$(document).ready(function(){
	$.getJSON('org.php',function(data) {
		alert("JSON Data" + json);
	});
});
Question 1 : Sachant que je veux récupérer l'objet JSON crée par le PHP dans mon fichier .js, j'ai importé jquery.js dans mon fichier php. Est-ce que je m'y suis bien pris pour la récupération des données? sinon comment faire?

Question 2 : la solution adoptée est-elle performante? ou fallait-il que j'exporte directement ma structure dans un fichier .json pour enfin la charger dans mon fichier .js de façon manuelle?


Voilà, je vous remercie et vous souhaite une bonne journée