[RESOLU] prévisions météo en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] prévisions météo en php

Re: [RESOLU] prévisions météo en php

par flexi2202 » 17 avr. 2021, 19:31

super un immense merci pour ces codes

Re: [RESOLU] prévisions météo en php

par Saian » 16 avr. 2021, 15:23

($json->daily[3] $daily) {
Cette syntaxe n'existe pas en php.

Soit tu boucles sur tous les jours avec le foreach.
foreach ($json->daily as $daily) {
    $daily->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc
    $daily->temp; // les températures avec $daily->temp->day; $daily->temp->max; etc
    $daily->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc
}

Soit si tu veux un jour particulier, tu fais comme sur ma réponse précédente.
$daily = $json->daily[2];
$daily->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc
$daily->temp; // les températures avec $daily->temp->day; $daily->temp->max; etc
$daily->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc

EDIT : j'avais pas vu tes deux derniers commentaires.

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 14:58

voila c est résolu
a présent faut mettre tout cela d allure et bien le présenter

encore mille fois merci

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 14:53

ah voila super cela fonctionne
j avais pas vu la modification du dernier message

pour certains le php c est comme de al lecture infantile
de mon cote euhhh ...

pourtant je vais m y mettre car je veux comprendre

en tout cas un super tres grand merci pour l aide

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 14:50

merci c est pesque fini
juste qu il m indique une erreur sur cette ligne du jour , il manque une "',"

Code : Tout sélectionner

<?php // Url de l'API $url = "https://api.openweathermap.org/data/2.5/onecall?lat=50.40965313355853&lon=4.441598958007829&lang=fr&units=metric&appid=e30eac7b1e60d534d109bfad513a4d9a"; $raw = file_get_contents($url); $json = json_decode($raw); ($json->daily[3] $daily) { $daily->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc $daily->temp; // les températures $daily->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc print_r($daily->weather) ; } ?>

Re: prévisions météo en php

par Saian » 16 avr. 2021, 14:35

$daily = $json->daily[2]; // index 0, 1, 2, ..., 6 le troisème jour est en index 2
PS : c'est pas de la magie c'est juste comprendre comment fonctionne php. ^^

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 14:29

merci Saian


y a des gens qui sont doués quand même, c est magique
un très grand merci
j avais fait une erreur
voila cette fois cela fonctionne
je me retrouve bien avec la météo de 8 jours

donc le jour présent + les 7 suivants ...

c est super cela m avance super bien et je comprends mieux tout cela

j aurais aimer poser une dernière question dans le cas ou je ne veux afficher la météo du 3 eme jour
je définis le jour de quel manière

de cette façon ?

Code : Tout sélectionner

<?php // Url de l'API $url = "https://api.openweathermap.org/data/2.5/onecall?lat=50.40965313355853&lon=4.441598958007829&lang=fr&units=metric&appid=e30eac7b1e60d534d109bfad513a4d9a"; $raw = file_get_contents($url); $json = json_decode($raw); ($json->3 $daily) { $daily->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc $daily->temp; // les températures $daily->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc print_r($daily->weather) ; echo nl2br("."); } ?>

Re: prévisions météo en php

par Saian » 16 avr. 2021, 14:09

Je t'ai mis un exemple juste au dessus. Le foreach sert justement à boucler sur les 7 jours.

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 14:03

oui désolé mais moi et le php on est pas trop copain ....
mais merci pour ton aide c est très gentil

donc voila a présent je sais afficher pour un jour les différentes valeurs
mais comment je peux m y prendre pour les autres jours car il y a une liste de 7 jours ...

Re: prévisions météo en php

par Saian » 16 avr. 2021, 13:52

Haha c'est laborieux. J'ai enlevé le exclude du lien précédent et il y bien un noeud daily avec 7 éléments.

Sur la base du bout de code que tu as montré :
$raw = file_get_contents($url);
$json = json_decode($raw);
foreach ($json->daily as $daily) {
    $daily->dt; // le timestamp du jour, tu as aussi sunrise, sunset, etc
    $daily->temp; // les températures avec $daily->temp->day; $daily->temp->max; etc
    $daily->weather; // la météo avec $daily->weather[0]->main; $daily->weather[0]->description; etc
}

Extrait :
    "daily": [{
        "dt": 1618570800,
        "sunrise": 1618548368,
        "sunset": 1618598247,
        "moonrise": 1618555620,
        "moonset": 1618525200,
        "moon_phase": 0.13,
        "temp": {
            "day": 8.55,
            "min": -0.32,
            "max": 8.65,
            "night": 3.32,
            "eve": 8.53,
            "morn": -0.32
        },
        "feels_like": {
            "day": 5.59,
            "night": -3.49,
            "eve": 6.32,
            "morn": -3.49
        },
        "pressure": 1027,
        "humidity": 50,
        "dew_point": -1.12,
        "wind_speed": 5.48,
        "wind_deg": 41,
        "wind_gust": 6.46,
        "weather": [{
            "id": 802,
            "main": "Clouds",
            "description": "partiellement nuageux",
            "icon": "03d"
        }],
        "clouds": 27,
        "pop": 0,
        "uvi": 3.96
    }, {
        "dt": 1618657200,
        "sunrise": 1618634644,
        "sunset": 1618684743,
        "moonrise": 1618644060,
        "moonset": 1618615560,
        "moon_phase": 0.16,
        "temp": {
            "day": 9.95,
            "min": 0.04,
            "max": 12.07,
            "night": 5.36,
            "eve": 10.7,
            "morn": 0.04
        },
        "feels_like": {
            "day": 7.35,
            "night": -3.5,
            "eve": 9.34,
            "morn": -3.5
        },
        "pressure": 1025,
        "humidity": 55,
        "dew_point": 1.22,
        "wind_speed": 5.63,
        "wind_deg": 28,
        "wind_gust": 6.96,
        "weather": [{
            "id": 801,
            "main": "Clouds",
            "description": "peu nuageux",
            "icon": "02d"
        }],
        "clouds": 12,
        "pop": 0,
        "uvi": 3.98
    }

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 13:39

merci pour l aide
c est vraiment sympa
oui juste j avais mal lu la documentation donc j ai supprimé la valeur de exclue

et voici la partie qui m intéresse par contre je ne parviens pas a al mettre en php

Code : Tout sélectionner

[daily] => Array ( [0] => stdClass Object ( [dt] => 1618570800 [sunrise] => 1618548368 [sunset] => 1618598247 [moonrise] => 1618555620 [moonset] => 1618525200 [moon_phase] => 0.13 [temp] => stdClass Object ( [day] => 8.71 [min] => -0.32 [max] => 8.74 [night] => 3.32 [eve] => 8.53 [morn] => -0.32 ) [feels_like] => stdClass Object ( [day] => 5.79 [night] => -3.49 [eve] => 6.32 [morn] => -3.49 ) [pressure] => 1027 [humidity] => 50 [dew_point] => -0.99 [wind_speed] => 5.48 [wind_deg] => 41 [wind_gust] => 6.46 [weather] => Array ( [0] => stdClass Object ( [id] => 802 [main] => Clouds [description] => partiellement nuageux [icon] => 03d ) ) [clouds] => 27 [pop] => 0 [uvi] => 3.96 ) [1] => stdClass Object ( [dt] => 1618657200 [sunrise] => 1618634644 [sunset] => 1618684743 [moonrise] => 1618644060 [moonset] => 1618615560 [moon_phase] => 0.16 [temp] => stdClass Object ( [day] => 9.95 [min] => 0.04 [max] => 12.07 [night] => 5.36 [eve] => 10.7 [morn] => 0.04 ) [feels_like] => stdClass Object ( [day] => 7.35 [night] => -3.5 [eve] => 9.34 [morn] => -3.5 ) [pressure] => 1025 [humidity] => 55 [dew_point] => 1.22 [wind_speed] => 5.63 [wind_deg] => 28 [wind_gust] => 6.96 [weather] => Array ( [0] => stdClass Object ( [id] => 801 [main] => Clouds [description] => peu nuageux [icon] => 02d ) ) [clouds] => 12 [pop] => 0 [uvi] => 3.98 ) [2] => stdClass Object ( [dt] => 1618743600 [sunrise] => 1618720922 [sunset] => 1618771238 [moonrise] => 1618733040 [moonset] => 1618705560 [moon_phase] => 0.19 [temp] => stdClass Object ( [day] => 9.51 [min] => 5.5 [max] => 11.58 [night] => 6.42 [eve] => 10.08 [morn] => 5.5 ) [feels_like] => stdClass Object ( [day] => 7.97 [night] => 3.67 [eve] => 9.18 [morn] => 3.67 ) [pressure] => 1023 [humidity] => 71 [dew_point] => 4.34 [wind_speed] => 3.48 [wind_deg] => 4 [wind_gust] => 3.82 [weather] => Array ( [0] => stdClass Object ( [id] => 500 [main] => Rain [description] => légère pluie [icon] => 10d ) ) [clouds] => 100 [pop] => 0.52 [rain] => 0.77 [uvi] => 2.81 ) [3] => stdClass Object ( [dt] => 1618830000 [sunrise] => 1618807201 [sunset] => 1618857734 [moonrise] => 1618822680 [moonset] => 1618795140 [moon_phase] => 0.22 [temp] => stdClass Object ( [day] => 12.66 [min] => 5.82 [max] => 13.45 [night] => 7.28 [eve] => 10.64 [morn] => 6.38 ) [feels_like] => stdClass Object ( [day] => 11.63 [night] => 6.38 [eve] => 9.82 [morn] => 6.38 ) [pressure] => 1018 [humidity] => 63 [dew_point] => 5.76 [wind_speed] => 2.06 [wind_deg] => 16 [wind_gust] => 2.17 [weather] => Array ( [0] => stdClass Object ( [id] => 500 [main] => Rain [description] => légère pluie [icon] => 10d ) ) [clouds] => 92 [pop] => 0.85 [rain] => 2.6 [uvi] => 2.98 ) [4] => stdClass Object ( [dt] => 1618916400 [sunrise] => 1618893480 [sunset] => 1618944230 [moonrise] => 1618912920 [moonset] => 1618884180 [moon_phase] => 0.25 [temp] => stdClass Object ( [day] => 14.66 [min] => 5.33 [max] => 14.7 [night] => 8.4 [eve] => 11.62 [morn] => 6.81 ) [feels_like] => stdClass Object ( [day] => 13.64 [night] => 6.81 [eve] => 10.72 [morn] => 6.81 ) [pressure] => 1013 [humidity] => 56 [dew_point] => 5.85 [wind_speed] => 2.29 [wind_deg] => 256 [wind_gust] => 2.83 [weather] => Array ( [0] => stdClass Object ( [id] => 500 [main] => Rain [description] => légère pluie [icon] => 10d ) ) [clouds] => 90 [pop] => 0.33 [rain] => 0.72 [uvi] => 4.93 ) [5] => stdClass Object ( [dt] => 1619002800 [sunrise] => 1618979761 [sunset] => 1619030726 [moonrise] => 1619003640 [moonset] => 1618972680 [moon_phase] => 0.29 [temp] => stdClass Object ( [day] => 10.33 [min] => 5.69 [max] => 10.33 [night] => 5.69 [eve] => 8.53 [morn] => 8.97 ) [feels_like] => stdClass Object ( [day] => 9.64 [night] => 8.97 [eve] => 5.29 [morn] => 8.97 ) [pressure] => 1011 [humidity] => 85 [dew_point] => 7.72 [wind_speed] => 6.25 [wind_deg] => 345 [wind_gust] => 11.62 [weather] => Array ( [0] => stdClass Object ( [id] => 500 [main] => Rain [description] => légère pluie [icon] => 10d ) ) [clouds] => 100 [pop] => 0.9 [rain] => 2.31 [uvi] => 5 ) [6] => stdClass Object ( [dt] => 1619089200 [sunrise] => 1619066042 [sunset] => 1619117222 [moonrise] => 1619094660 [moonset] => 1619060760 [moon_phase] => 0.32 [temp] => stdClass Object ( [day] => 7.48 [min] => 1.17 [max] => 8.54 [night] => 2.41 [eve] => 5.58 [morn] => 2.42 ) [feels_like] => stdClass Object ( [day] => 3.69 [night] => -1.1 [eve] => 1.24 [morn] => -1.1 ) [pressure] => 1022 [humidity] => 55 [dew_point] => -1.04 [wind_speed] => 8.27 [wind_deg] => 323 [wind_gust] => 10.06 [weather] => Array ( [0] => stdClass Object ( [id] => 500 [main] => Rain [description] => légère pluie [icon] => 10d ) ) [clouds] => 95 [pop] => 0.26 [rain] => 0.38 [uvi] => 5 ) [7] => stdClass Object ( [dt] => 1619175600 [sunrise] => 1619152325 [sunset] => 1619203718 [moonrise] => 1619185920 [moonset] => 1619148600 [moon_phase] => 0.36 [temp] => stdClass Object ( [day] => 8.11 [min] => 0.79 [max] => 8.64 [night] => 5.16 [eve] => 8.3 [morn] => 2.67 ) [feels_like] => stdClass Object ( [day] => 5.7 [night] => -0.69 [eve] => 6.48 [morn] => -0.69 ) [pressure] => 1024 [humidity] => 69 [dew_point] => 2.67 [wind_speed] => 5.19 [wind_deg] => 355 [wind_gust] => 6.21 [weather] => Array ( [0] => stdClass Object ( [id] => 803 [main] => Clouds [description] => nuageux [icon] => 04d ) ) [clouds] => 65 [pop] => 0.06 [uvi] => 5 ) )

Re: prévisions météo en php

par Saian » 16 avr. 2021, 13:24

Normale à priori étant donné que tu as un paramètre &exclude=daily dans l'adresse.

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 13:21

merci pour la réponse
oui en effet pour la facilite j ai changer daily en current

revoici donc le lien avec daily
https://api.openweathermap.org/data/2.5 ... ad513a4d9a

mais je retrouve pas la partie daily dedans ...

Re: prévisions météo en php

par Saian » 16 avr. 2021, 13:14

Ok et bien la apparemment sur ce lien tu as un noeud minutely j'imagine pour l'heure à venir et tu as un noeud hourly j'imagine pour les heures à venir. Pas de noeud daily comme sur ton premier exemple.

Pour la clé le truc c'est qu'en la mettant sur forum comme ça quelqu'un d'autre peu la reprendre et s'en servir pour lui.

Un extrait des données, si tu colles les données avec les espaces et que tu utilises la balise PHP les espaces sont bien conservés ce qui permet de mieux comprendre la structure des données.
    "hourly": [{
        "dt": 1618570800,
        "temp": 8.21,
        "feels_like": 5.16,
        "pressure": 1028,
        "humidity": 49,
        "dew_point": -1.64,
        "uvi": 3.84,
        "clouds": 20,
        "visibility": 10000,
        "wind_speed": 5.48,
        "wind_deg": 41,
        "wind_gust": 7.2,
        "weather": [{
            "id": 801,
            "main": "Clouds",
            "description": "peu nuageux",
            "icon": "02d"
        }],
        "pop": 0
    }, {
        "dt": 1618574400,
        "temp": 8.21,
        "feels_like": 5.2,
        "pressure": 1028,
        "humidity": 50,
        "dew_point": -1.4,
        "uvi": 3.96,
        "clouds": 29,
        "visibility": 10000,
        "wind_speed": 5.37,
        "wind_deg": 49,
        "wind_gust": 6.98,
        "weather": [{
            "id": 802,
            "main": "Clouds",
            "description": "partiellement nuageux",
            "icon": "03d"
        }],
        "pop": 0
    }, {

Re: prévisions météo en php

par flexi2202 » 16 avr. 2021, 13:02

bonjour Salan

merci pour ton aide
oui logique que cela retourne une erreur car je ne sais pas si je peux distribuer publiquement ma clé ?

voici donc le lien avec la bonne clé

https://api.openweathermap.org/data/2.5 ... ad513a4d9a

je suis allé voir le lien que tu m as fourni
mais je ne vois pas bien comment avoir ce genre de tabulation

encore merci pour l aide