Voila j'ai un souci au niveau de mon code qui fait interagir une API ( pokeapi ) je ne parvient pas en php a récupéré les données pour le name des pokemons
voici mon code :
<?php
/**
*
*/
class Api
{
public function __construct()
{
}
public function getMonstreNom(){
$curl = curl_init("https://pokeapi.co/api/v2/pokemon");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($curl);
if ($data === false || curl_getinfo($curl,CURLINFO_HTTP_CODE) !==200 ) {
var_dump(curl_error($curl));
}else{
$result = [];
$data = json_decode($data,true);
var_dump($data);
foreach ($data['results'] as $value) {
$result[] = [
'name' => $value['name']
];
}
}
return $result;
curl_close($curl);
}
}
?>
en faite l’erreur c'est que $data =1 ,et je souhaiterais stocker dans le tableau result la liste des noms qui proviennent du json mais je n'y arrive pas je pense que le probleme vient du foreach
Quand tu fais le var_dump, tu récupères bien les données comme sur la page de l'url ?
Si oui , je ne vois pas pourquoi tu aurais un problème au niveau de la boucle foreach.
Par contre, tu as deux choses à corriger :
Il te faut définir la variable result avant la condition, sinon dans le cas où tu ne rentres pas dans le else, tu auras une erreur concernant la variable result qui n'est pas définie
Il te faut faire le retour de la variable après avoir fermé la connexion curl, si tu fais le retour avant, curl_close ne sera jamais exécuté.
aie12 a écrit:
bonjour,
en faite l’erreur c'est que $data =1 ,et je souhaiterais stocker dans le tableau result la liste des noms qui proviennent du json mais je n'y arrive pas je pense que le probleme vient du foreach
Merci
- Edité par aie12 il y a moins de 30s
Je vois, il te faut ajouter l'option CURLOPT_RETURNTRANSFER et définir à true.
- Edité par Lartak 20 juillet 2019 à 11:48:41
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
[curl_exec] retourne TRUE en cas de succès ou FALSE si une erreur survient. Cependant, si l'option CURLOPT_RETURNTRANSFER est définie, la fonction retournera le résultat en cas de succès
C'est dans la doc, que tu devrais lire avant d'utiliser une fonction que tu ne connais pas.
Enfin c’était bien sa le problème je vous remercie énormément pour votre aide
mais maintenant je n'arrive pas a afficher les donnee du tableau
return result['name'];
ca ne m'affiche rien
- Edité par aie12 20 juillet 2019 à 13:12:56
Recuperation json
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.