JeuWeb - Crée ton jeu par navigateur
[Resolu] Retourner plusieurs tableaux par Ajax - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Resolu] Retourner plusieurs tableaux par Ajax (/showthread.php?tid=7807)



[Resolu] Retourner plusieurs tableaux par Ajax - L'Omniscient - 29-04-2017

Bonjour chers amis !
Petit soucis sur des actualisations de données récupérées par PHP/SQL et retransmises par Ajax.
J'ai un premier tableau qui renvoie des données chiffrées, par exemple nombre de visiteurs, recettes d'entrée etc.
Je voudrais renvoyer un second tableau par ce même appel AJAX, un tableau qui contient une série de lignes avec plusieurs données.
En gros je compose mon tableau 1 qui est nommé ainsi :

$tableau_un;

Maintenant je voudrais composer un deuxième tableau avec un

foreach ($quantite_donnees as $donnee) {
$tableau_deux[$x] = array('Donnée1' => $donnee['Donnée1'], 'Donnée2' => $donnee['Donnée2']);
$x++;
}

Jusque là je faisais envoyer le premier tableau de la manière suivante :
echo json_encode($tableau_un);

Pour envoyer les deux, est-ce possible ? Si oui  comment ?

Merci d'avance ! Smile


RE: Retourner plusieurs tableaux par Ajax - Xenos - 29-04-2017

Salut,

JSON ne fournit pas de structure permettant de sérialiser deux éléments (deux tableaux dans ton cas). Mais il permet de sérialiser un objet qui contiendra ces deux éléments:


echo json_encode(array(
'tableauDesScores' => $scores,
'tableauDesGains' => $gains));

Ton Javascript côté client n'a alors plus qu'à récupérer cet objet (comme tu le fais sûrement déjà) et à utiliser la bonne propriété de cet objet (data.tableauDesScores ou data.tableauDesGains).


Pour info: si tu fais un appel HTTP à l'une des pages de mes jeux (comme https://isometry.reinom.com ) en définissant le header HTTP "Accept" à "application/json" (cela peut se faire via le plugin Firefox "Modify Request Headers") alors tu verras qu'il retourne un objet JSON, dont la plupart des propriétés sont un tableau.


RE: Retourner plusieurs tableaux par Ajax - L'Omniscient - 29-04-2017

Merci Xenos, c'est parfait ! Big Grin

EDIT : En fait c'est bon, j'arrive à parcourir mon tableau, j'avais juste mal écris mon code du coup je croyais qu'il ne le renvoyait pas sous forme de "vrai tableau JS"