Qui pour contrôler ma première boucle foreach [Résolu]

Signaler
Messages postés
2589
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mai 2021
-
Messages postés
2589
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mai 2021
-
bonjour a tous

il me reste encore une petite dernière chose a régler sur mon site je pense avoir trouve le bon code , mais j aurais besoin de savoir si tout est correct

j utilise openweather pour récupérer les données météo et pour l instant j en suis aux prévisions pour les 48 prochaines heures avec toutes les infos disponibles pour chaque heure

pour les récupérer , j ai compris le principe
mais cela fait beaucoup beaucoup de lignes
j intègre donc un accordion de boostrap avec 48 onglets et dans chaque onglet une fois ouvert rassemble l ensemble des infos de la météo pour l heure donnée

pour éviter d avoir un code trop long je me suis juste limiter pour l exemple a récupérer quelques données

si vous pouviez juste me confirmer que cela est al bonne pratique

  <?php

 $url = "https://api.openweathermap.org/data/2.5/onecall?lat=50.40965313355853&lon=4.441598958007829&exclude=current,minutely,alerts&lang=fr&units=metric&appid=e30eac7b1e60d534d109bfad513a4d9a";

 $raw = file_get_contents($url);
$json = json_decode($raw);
 $i=1;
  
foreach ($json->hourly as $hourly) {
$hourly->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc
$hourly->temp; // les températures
$hourly->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc

?>

<div class="accordion" id="accordionExample">
 
  <div class="card">
    <div class="card-header" id="heading-<?php echo $i; ?>">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapse-<?php echo $i; ?>" aria-expanded="false" aria-controls="collapse-<?php echo $i; ?>">
         <?php print_r($hourly->dt) ;?>
        </button>
      </h2>
    </div>
    <div id="collapse-<?php echo $i; ?>" class="collapse" aria-labelledby="heading-<?php echo $i; ?>" data-parent="#accordionExample">
      <div class="card-body">
        <?php print_r($hourly->weather) ;?>
      </div>
    </div>
  </div>

<?php  
$i++;
 }
?>
</div>

4 réponses

Messages postés
15575
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mai 2021
852
bonjour,
à quoi servent les lignes 10 à 12?
Messages postés
2589
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mai 2021
134
bonjour
j extrais les données que j ai besoin pour les afficher plus loin
Messages postés
15575
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mai 2021
852
je pense que ces lignes sont inutiles, la ligne 22 combinant l'extraction et l'affichage.
si tu veux vraiment faire cela en deux étapes:
$dt = $hourly->dt;
print_r($dt);
Messages postés
15575
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mai 2021
852 >
Messages postés
15575
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mai 2021

peux-tu marquer la discussion comme résolue?
Messages postés
2589
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mai 2021
134
bonsoir désolé du retard
en effet cela est résolu
encore merci pour l aide
Messages postés
1718
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
12 mai 2021
137
Salut,

Tu as oublié de cliquer sur le bouton adéquat.
Messages postés
2589
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mai 2021
134
salut
merci du rappel