Page 1 sur 1

Afficher automatiquement le contenu d'une API dans une liste déroulante

Posté : 17 juin 2021, 19:14
par michel47
Bonjour,
Je travaille sur une API Foot
Je bute sur un souci.
J'affiche les résultats et les classements de tous les championnats.
J'aimerai donner à l'utilisateur la possibilité de choisir le numéro de la journée qu'il souhaite voir.
Je le fais sans problème lorsque je créé ma liste déroulante "en dur" (par "en dur" j'entends en entrant manuellement toutes les journée de chaque championnat dans la balise <option>.
Les championnats ayant des nombres de journées différentes j'aurai voulu automatiser la récupération des journées dans la liste déroulante.
Mon problème c'est que je ne récupére que la journée en cours dans la liste déroulante (celle qui est contenu dans le $tour)
j'ai récupéré le contenu des données correspondant aux journées de ma boucle foreach dans une variable que j'ai appelé $round
Quand je fais un echo de $tour, c'est évidemment le numéro de la journée en cours qui apparait
Voici le code que j'ai mis en place

Code : Tout sélectionner

$lastRound = file_get_contents("https://ici_l-url_de_l-api?id=$pays"); $parsedLastRound= json_decode($lastRound,true); foreach ($parsedLastRound['events'] as $round) { $saison=$round['strSeason']; $tour=$round['intRound']; echo '<form action="" method="post">'; echo '<select name="rounds">'; echo ' <option value="'.$tour.'">J'.$tour.'</option>'; echo '</select>'; echo ' <input type="submit" name="submit" value="Valider">'; if(isset($_POST['submit'])){ if(!empty($_POST['rounds'])) { $selected = $_POST['rounds']; $nextEvent = file_get_contents("https://ici_l-url_de_l-api?id=$pays&r=$selected&s=$saison"); Et ICI la définition des variables dont j'ai besoin et les echo pour leur affichage } } }
Je tiens a préciser que j'ai essayé de tout automatiser au maximum. Donc je n'ai qu'un et unique code PHP pour tous les championnats (que j'ai appelé resultats.php).
Pour définir le championnat que je veux afficher j'ai un deuxième fichier PHP qui ne contient que le id du championnat à afficher (pour afficher le championnat de France, je mets le code correspondant au championnat de France dans une variable appelée $pays dans un fichier france.php et je fais un include du fichier contenant le code ci-dessus. Je renseigne la variable dans le lien du $nextEvent)
Si quelqu'un peut m'aider a récupérer tous les numéros des journées dans la liste déroulante ce serait cool.
Merci
Michel
PS : j'ai caché l'url de l'API car elle contient des données persos (comme ma clé API) .
PS2 : Je ne sais pas si c'est normal mais entre les balises code, mon code a perdu son indentation

Re: Afficher automatiquement le contenu d'une API dans une liste déroulante

Posté : 17 juin 2021, 20:58
par or 1
quel est le résultat html de ce code ? ctrl + u pour voir la source html
quel est le code html qu'il faut générer pour qu'il y ai plusieurs entrées pour le select ?