Je m'adresse particulièrement à Pascal, vu que j'utilise une de ces requêtes, mais si quelqu'un d'autre à la solution, je suis preneur.
Je cherche depuis un mois pourquoi mes graphiques de comparaisons avec les normales fonctionnent nickel pour toutes les années, sauf pour l'année courante, il me semble en plus que je n'avais pas ce problème l'année passée.
Par exemple ces fichiers pour la pluviométrie, il n'y a que l'année 2015 qui foire
http://www.boock.ch/meteo/pluie-comparatif-normes.php
Code : Tout sélectionner
<?php
// appel du script de connexion
require("mysqli_connect.php");
// ************* Attention mes scripts, suivant les conseils de "helmain", utilisent tous des requêtes MYSQLI. Donc, adaptez les requêtes si vous utilisez toujours MYSQL ************
// On détermine le stop et le start de façon à récupérer dans la prochaine requête que les données de l'année en cours.
$anneeencours=date("2015"); // Variable servant à l'affichage des données sur l'axe xAxis du graphique
$debut = mktime(0, 0, 0, 1, 1,2015); // Variable à changer pour grapher une autre année: exemple pour 2013, mktime(0, 0, 0, 1, 1,2013)
$start= date("YmdHi", $debut);
$fin= mktime(0, 0, 0, 1, 1,2016); // Variable à changer pour grapher une autre année: exemple pour 2013, mktime(0, 0, 0, 1, 1,2014)
$stop= date("YmdHi", $fin);
$makemoisencours= mktime(0, 0, 0, 1, 1,2016); // Variable à changer pour grapher une autre année: exemple pour 2013, mktime(0, 0, 0, 1, 1,2014)
$moisencours=date("YmdHi", $makemoisencours); // Variable servant à déterminer à partir de quand la valeur de la variable $CumulMensuel[$i] devient NULL pour éviter l'affichage répétitif de la même valeur j'usqu'a la fin de l'année
// On défini un tableau $CumulNormaleMensuelle qui sert à calculer la différence entre les cumul normal et les cumul mensuel
// Les normales cumulées ci dessous sont celle de la station Météo France de Metz Marly-Frescaty valable pour ma station.
$CumulNormaleMensuelle[2] = 53;
$CumulNormaleMensuelle[3] = 100;
$CumulNormaleMensuelle[4] = 160;
$CumulNormaleMensuelle[5] = 228;
$CumulNormaleMensuelle[6] = 318;
$CumulNormaleMensuelle[7] = 408;
$CumulNormaleMensuelle[8] = 496;
$CumulNormaleMensuelle[9] = 591;
$CumulNormaleMensuelle[10] = 675;
$CumulNormaleMensuelle[11] = 761;
$CumulNormaleMensuelle[12] = 825;
$CumulNormaleMensuelle[13] = 891;
// On creer une variable $stoppourcumul qui servira à extraire les cumul mensuel
for ($i = 2; $i < 13; $i++) {
$makestoppourcumul[$i]= mktime(0,0,0,$i,1,2015); // Variable à changer pour grapher une autre année: exemple pour 2013, mktime(0,0,0,$i,1,2013)
$stoppourcumul[$i]=date("YmdHi", $makestoppourcumul[$i]);
};
$stoppourcumul[13]=$stop; // la dernière variable est définie séparément car elle doir être égale à $stop soit année en cours + 1
// Récupération des cumuls dans la BDD
$i=2;
while ($i<14){
$sql = "select sum(Rain_jour) from MiniMaxidata where recdateTZ >= $start and recdateTZ < $stoppourcumul[$i]";
$query = mysqli_query($conn,$sql);
$list=mysqli_fetch_array($query);
if ($stoppourcumul[$i] > $moisencours) {
$CumulMensuel[$i]= 'null';
$DifferenceCumul[$i]= 'null';
}
else {
$CumulMensuel[$i]=$list['sum(Rain_jour)']*1;
$DifferenceCumul[$i]= $CumulMensuel[$i] - $CumulNormaleMensuelle[$i];
}
$i++;
}
// Récupération des données Rain_jour pour grapher les précipitations mensuelles de l'année pour les afficher via la fonction dataGrouping de highcharts
$sql = "SELECT tstamp, Rain_jour FROM MiniMaxidata WHERE recdateTZ >= $start AND recdateTZ < $stop";
$query = mysqli_query($conn,$sql);
$i=0;
while ($list = mysqli_fetch_assoc($query)) {
if (date("I",time())==0) {
$time[$i]=($list['tstamp']+3600)*1000;
}
else {
$time[$i]=($list['tstamp']+7200)*1000;
}
$Rain_jour[$i]=$list['Rain_jour']*1;
$i++;
}
?>