Passer une boucle dans du json_encode
Résolu/Fermé
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
-
6 mai 2022 à 11:54
anthonyr_25 Messages postés 165 Date d'inscription mercredi 5 janvier 2022 Statut Membre Dernière intervention 6 juillet 2022 - 6 mai 2022 à 14:34
anthonyr_25 Messages postés 165 Date d'inscription mercredi 5 janvier 2022 Statut Membre Dernière intervention 6 juillet 2022 - 6 mai 2022 à 14:34
A voir également:
- Passer une boucle dans du json_encode
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Passer à la ligne dans une cellule excel - Guide
- Passer de qwerty a azerty - Guide
- Passer de majuscule à minuscule - Guide
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
6 mai 2022 à 12:25
6 mai 2022 à 12:25
Bonjour,
Si tu souhaites que ton fichier php retourne les données au format json, il ne faut pas créer de boucle pour générer du code html en php.
Tu peux directement envoyer toutes les valeurs (via fetchAll) avec la fonction json_encode :
C'est ensuite dans le code JS qu'il faut parcourir les valeurs et générer le code html.
Si tu préfères générer le code html depuis le fichier php, dans ce cas il ne faut pas utiliser le format json.
Si tu souhaites que ton fichier php retourne les données au format json, il ne faut pas créer de boucle pour générer du code html en php.
Tu peux directement envoyer toutes les valeurs (via fetchAll) avec la fonction json_encode :
$recupProd = $bdd->query('SELECT ...'); $valeurs = $recupProd->fetchAll(); echo json_enode($valeurs);
C'est ensuite dans le code JS qu'il faut parcourir les valeurs et générer le code html.
Si tu préfères générer le code html depuis le fichier php, dans ce cas il ne faut pas utiliser le format json.
yg_be
Messages postés
23426
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 janvier 2025
Ambassadeur
1 557
6 mai 2022 à 12:13
6 mai 2022 à 12:13
bonjour,
nous as-tu montré ce que tu as essayé?
nous as-tu montré ce que tu as essayé?
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
6 mai 2022 à 13:30
6 mai 2022 à 13:30
Non mais je peux te les montré, j'ai esayer deux choses mais je ne sais pas du tout comment faire je suis bloqué :
1er essaie :
2eme essaie :
1er essaie :
function test_json(){ return while ($valeurs = $recupProd->fetch()) { ?> <div class="box_task box"> <div class="circle circle_all"><img src="complete.png" alt="" class="tchek"></div> <p class="box_task_text"><?= $valeurs['task_name'] ?></p> </div> <?php }; } echo json_encode(test_json());
2eme essaie :
echo json_encode( while ($valeurs = $recupProd->fetch()) { ?> <div class="box_task box"> <div class="circle circle_all"><img src="complete.png" alt="" class="tchek"></div> <p class="box_task_text"><?= $valeurs['task_name'] ?></p> </div> <?php } );
6 mai 2022 à 13:31
Donc depuis le js je ne fait pas de fetch ?
Et depuis le php comment je renvoie les informations au js ?
6 mai 2022 à 13:42
Tu peux utiliser fetch en js, mais il faut du coup utiliser la méthode response.text() au lieu de response.json() dans la première promise (le premier then).
6 mai 2022 à 14:00
et donc ducoup le resultat correspond à data dans le js ?
6 mai 2022 à 14:08
Il te suffit ensuite de sélectionner ton élément .task (via querySelector par exemple) puis d'utiliser la propriété innerHTML pour insérer le contenu html dans cet élément.
6 mai 2022 à 14:28
Essaye d'appeler ton fichier http://localhost/todo/vue.php dans ton navigateur et corrige les éventuelles erreurs pour t'assurer que ce fichier retourne bien le code html.