Bon c'est un peu taillé à la serpe, mais fonctionnel !
Déjà ton idée de reprendre la base, avec le recul n'est pas si mauvaise et facilite la tâche.
J'ai ajouté à la fin du fichier généré par WsWin ces deux tags:
Code : Tout sélectionner
$soleil_possible ='%ws_timetoval[%ws_daylength%]%';
$soleil_jour='%sunday_d%';
Le premier converti en décimal l'ensoleillement possible, le second l'ensoleillement décimal effectif.
J'ai ajouté une variable à la fin de la structure de la base nommée jour_soleil. Cette variable est de type INT et a pour valeur par défaut 0.
J'ai ensuite modifié le fichier extremess.php, celui qui est lancé toutes les heures (il me semble car j'ai dormi depuis...)
A la fin des tests jour et juste avant la ligne d'écriture, j'ai ajouté ces deux lignes:
Code : Tout sélectionner
$soleil_pourcent=(($soleil_jour*100)/$soleil_possible);
if ($soleil_pourcent > 25) {$jour_soleil = 1;}
Ton histoire de seuil à plus de deux heures, ne me parait pas adapté et j'ai opté pour un pourcentage plus malléable suivant les saisons.
Je calcule donc sur la première ligne le pourcentage d’ensoleillement effectif, puis, s'il dépasse 25% (seuil que j'ai choisi), j'impute 1 à la variable $jour_soleil.
J'ajoute maintenant à la fin de ma ligne d'écriture ma nouvelle variable de manière à l'inscrire dans la base.
Code : Tout sélectionner
...........date_soleil_max='$date_soleil_max',jour_soleil='$jour_soleil' WHERE id='$jour' ");
Il n'y a plus qu'à compter le nombre de jour ou le seuil est atteint sur l'ensemble de la base de manière à afficher le nombre de jour d'ensoleillement sur l'année glissante.
Code : Tout sélectionner
<?php
$variable = '0';
$db = mysql_connect('localhost', '*utilisateur*', '*pass*');
mysql_query("set names UTF8");
mysql_select_db('extremes',$db);
$sql = "SELECT * FROM mois WHERE jour_soleil='1'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
$variable = $variable + 1;
}
mysql_close();
echo 'Il y a eu ',$variable,'jour(s) de soleil ces 365 derniers jours.';
?>
http://www.rieux-marne.net/meteo/climat ... s/test.php
C'est une approche, il y en a bien d'autre...
La seul chose qui me dérange c'est l'appel de fonction à l'affichage que je préférerai dans le fichier extremess.php de manière à stocker le cumul dans une autre variable.
Si l'on doit garder ce principe je modifierai un peu le code en gardant l'idée de base.
Bon encore un chocolat et j'arrête pour aujourd'hui