requête MySql (Résolu)
Modérateurs : jturlier, Météo Villarzel
-
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
- Contact :
requête MySql (Résolu)
Salut à tous
Je ne sais pas si c'est le bon forum à poser, mais j'ai une question à propos d'une requête mysql
Je suis intéressé à obtenir des données simples à partir de la table "minimaxi":
1) Température maximale d'hier
2) la température minimale d'aujourd'hui
3) la date d'hier
La raison de cette requête est de pouvoir mettre à jour un script de comparaison entre les prévisions et les données réelles d'hier.
La requête est effectuée à 08h00 du matin pour obtenir les valeurs maximales de température d'hier et les températures minimales d'aujourd'hui jusqu'à 08h00 (qui correspond au moment où la requête est effectuée).
Le résultat du 06/04/2019, serait du type:
14.4,7.6,05/05/04/2019
Ces données compléteront la ligne du 05/04/2019
Pour mieux le comprendre, vous pouvez regarder ici:
http://kocher.es/test-fc.php
Je ne sais pas si c'est le bon forum à poser, mais j'ai une question à propos d'une requête mysql
Je suis intéressé à obtenir des données simples à partir de la table "minimaxi":
1) Température maximale d'hier
2) la température minimale d'aujourd'hui
3) la date d'hier
La raison de cette requête est de pouvoir mettre à jour un script de comparaison entre les prévisions et les données réelles d'hier.
La requête est effectuée à 08h00 du matin pour obtenir les valeurs maximales de température d'hier et les températures minimales d'aujourd'hui jusqu'à 08h00 (qui correspond au moment où la requête est effectuée).
Le résultat du 06/04/2019, serait du type:
14.4,7.6,05/05/04/2019
Ces données compléteront la ligne du 05/04/2019
Pour mieux le comprendre, vous pouvez regarder ici:
http://kocher.es/test-fc.php
Modifié en dernier par Javier le 10 avr. 2019, 08:43, modifié 1 fois.
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: requête MySql
Bonjour Javier,
il vaudrait mieux que tu récupères ces infos dans noaa_jour.
Qu’entends-tu par date d’hier ?
De quel type de script veux-tu te servir (php je suppose ?)
Tu vas devoir faire 2 interrogations une pour hier et une pour aujourd’hui.
Tout ceci aux erreurs de typo près.
il vaudrait mieux que tu récupères ces infos dans noaa_jour.
Qu’entends-tu par date d’hier ?
De quel type de script veux-tu te servir (php je suppose ?)
Tu vas devoir faire 2 interrogations une pour hier et une pour aujourd’hui.
Code : Tout sélectionner
<?php
$server="localhost";
$user="utilisateur";
$pwd="mot_de_passe";
$db='meteo';
$conn=mysqli_connect($server,$user,$pwd,$db);
If(! $conn) {
exit("Echec de la connexion<br>". mysqli_connect_error());
}
$hier=strtotime(date("m")."/".date("d")-1."/". date("Y")); // tu as le timestamp d’hier. La date doit être entrée en format US
$jour = strtotime(date("m")."/".date("d")."/". date("Y")); //tu as le timestamp aujourd’hui 0:00
// temp maxi pour hier
// si tu souhaites la température maxi à partir de 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Max_T, H_Max_T from noaa_jour where where tstamp >= ".$hier+28800." and tstamp< ".$jour." order by 1 desc limit 1;";
$sql="select tstamp, Max_T, H_Max_T from noaa_jour where where tstamp >= ".$hier." and tstamp< ".$jour." order by 1 desc limit 1;";
$query = mysqli_query($conn,$sql);
$list=mysqli_fetch_array($query);
$temperature_maxi_hier==$list['Max_T']*1;
$heure_temperature_maxi_hier==$list['H_Max_T']*1;
mysqli_free_result($query);
//temp mini pour aujourd’hui
// si tu souhaites la température mini avant 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Min_T, H_Min_T from noaa_jour where where tstamp >= ".$jour." and tstamp< ".$jour.-28800" order by 1 desc limit 1;";
$sql="select tstamp, Min_T, H_Min_T from noaa_jour where where tstamp >= ".$jour." order by 1 desc limit 1;";
$query = mysqli_query($conn,$sql);
$list=mysqli_fetch_array($query);
$temperature_mini_aujourdhui==$list['Min_T']*1;
$heure_temperature_mini_aujourdhui=$list['H_Min_T']*1;
mysqli_free_result($query);
?>
Jean
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
-
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
- Contact :
Re: requête MySql
Bonsoir jean
Merci beaucoup pour cet exemple de code.
Je vais le mettre en œuvre immédiatement. Votre idée est déjà comprise.
En Espagne il y a un dicton:
"Una vez visto, todo el mundo es listo (inteligente)"
"Une fois vus, tout le monde est malin"
Merci beaucoup
Javier
Merci beaucoup pour cet exemple de code.
Je vais le mettre en œuvre immédiatement. Votre idée est déjà comprise.
En Espagne il y a un dicton:
"Una vez visto, todo el mundo es listo (inteligente)"
"Une fois vus, tout le monde est malin"
Merci beaucoup
Javier
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: requête MySql
C'est ok, tiens moi informé STP
Cordialement
Jean
Cordialement
Jean
Jean
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
-
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
- Contact :
Re: requête MySql
Saludos Jean
J'ai exécuté vos instructions, mais cela n'a pas fonctionné.
Cela me donne du mal à abuser de votre intérêt et je me suis renseigné sur ce dossier:
http://kocher.es/temp-maxmin-fc-compare-sql.php
J'ai découvert que le script se connecte correctement à la base de données, mais la variable "$ hier" génère une erreur:
Contient:
Si je modifie par:
La connexion fonctionne, mais les données ne sont pas obtenues:
http://kocher.es/temp-maxmin-fc-compare-sql-modif.php
Je ne sais pas où est le problème, peut-être les ".....
Je suis désolé de vous déranger avec mes doutes de recrue et je vous en suis très reconnaissant.
Javier
J'ai exécuté vos instructions, mais cela n'a pas fonctionné.
Cela me donne du mal à abuser de votre intérêt et je me suis renseigné sur ce dossier:
http://kocher.es/temp-maxmin-fc-compare-sql.php
J'ai découvert que le script se connecte correctement à la base de données, mais la variable "$ hier" génère une erreur:
Code : Tout sélectionner
$ hier = strtotime (date ("m"). "/".date ("d")-1."/".date("Y")); // vous en tant que timestamp d'hier. La date doit être entrée au format US
Code : Tout sélectionner
."/".Date("d")-1."/".
Code : Tout sélectionner
"/".Date(("d")-1)."/".
http://kocher.es/temp-maxmin-fc-compare-sql-modif.php
Je ne sais pas où est le problème, peut-être les ".....
Je suis désolé de vous déranger avec mes doutes de recrue et je vous en suis très reconnaissant.
Javier
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: requête MySql
essaie ceci
$jour = strtotime(date("m")."/".date("d")."/". date("Y")); //tu as le timestamp aujourd’hui 0:00
$hier=$jour-86400; //timestamp hier
sans le timestamp d'hier il n'y a pas grand chose qui peut fonctionner ... à mon avis !
$jour = strtotime(date("m")."/".date("d")."/". date("Y")); //tu as le timestamp aujourd’hui 0:00
$hier=$jour-86400; //timestamp hier
sans le timestamp d'hier il n'y a pas grand chose qui peut fonctionner ... à mon avis !
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: requête MySql
/temp mini pour aujourd’hui
// si tu souhaites la température mini avant 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Min_T, H_Min_T from noaa_jour where where tstamp >= ".$jour." and tstamp< ".$jour +28800" order by 1 desc limit 1;";
C'est entre 0:00 et 8:00 (le timestamp $jour est celui de 0 heure)
Excuse pou l'erreur !
// si tu souhaites la température mini avant 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Min_T, H_Min_T from noaa_jour where where tstamp >= ".$jour." and tstamp< ".$jour +28800" order by 1 desc limit 1;";
C'est entre 0:00 et 8:00 (le timestamp $jour est celui de 0 heure)
Excuse pou l'erreur !
-
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
- Contact :
Re: requête MySql
Merci à vos instructions, le script fonctionne déjà exactement comme j'en avais besoin:
http://kocher.es/temp-maxmin-fc-compare-sql-modif.php
Voici comment était le code définitif:
Merci beaucoup jean
Vous êtes un vrai maître
Javier
http://kocher.es/temp-maxmin-fc-compare-sql-modif.php
Voici comment était le code définitif:
Code : Tout sélectionner
<?php
$server="xxxxx";
$user="xxxxx";
$pwd="xxxxx";
$db='xxxxx';
$conn=mysqli_connect($server,$user,$pwd,$db);
If(! $conn) {
exit("Echec de la connexion<br>". mysqli_connect_error());
}
$jour = strtotime(date("m")."/".date("d")."/". date("Y")); //tu as le timestamp aujourd’hui 0:00
$hier=$jour-86400; //timestamp hier
// echo "tstamp hier: ".$hier."<br>";
// echo "tstamp jour: ".$jour."<br>";
// temp maxi pour hier
// si tu souhaites la température maxi à partir de 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Max_T, H_Max_T from noaa_jour where where tstamp >= ".$hier+28800." and tstamp< ".$jour." order by 1 desc limit 1;";
$sql="SELECT tstamp, Max_T, H_Max_T FROM noaa_jour where tstamp = ".$hier." order by 1 desc limit 1;";
$query = mysqli_query($conn,$sql);
$list = mysqli_fetch_array($query);
$temperature_maxi_hier = $list['Max_T']*1;
$heure_temperature_maxi_hier = $list['H_Max_T']*1;
mysqli_free_result($query);
echo $temperature_maxi_hier.",";
//temp mini pour aujourd’hui
// si tu souhaites la température mini avant 8:00 il suffit de modifier la requête ainsi :
// $sql="select tstamp, Min_T, H_Min_T from noaa_jour where where tstamp >= ".$jour." and tstamp< ".$jour.-28800" order by 1 desc limit 1;";
$sql="select tstamp, Min_T, H_Min_T from noaa_jour where tstamp >= ".$jour." order by 1 desc limit 1;";
$query = mysqli_query($conn,$sql);
$list=mysqli_fetch_array($query);
$temperature_mini_aujourdhui=$list['Min_T']*1;
$heure_temperature_mini_aujourdhui=$list['H_Min_T']*1;
mysqli_free_result($query);
echo $temperature_mini_aujourdhui.",";
date_default_timezone_set('Europe/Madrid');
$date = date('m/d/Y G:i a', time());
echo $date;
mysqli_close($conn);
?>
Vous êtes un vrai maître
Javier
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym