Non, pas à ma connaissance non plus !Lud29 a écrit :Bonsoir,
Y a-t-il moyen d’avoir la direction de la rafale maxi pour un jour donné ? Je ne pense pas, mais sait-on jamais !
les records un mois donné
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Bonjour,
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: les records un mois donné
Alors dans l'index !webmaster a écrit : Non, mais à condition que tu sois certain que cette page sera ouverte au moins une fois par jour pour incrémenter ta base sur les années précédentes !
Ensuite pour la valeur du jour le mieux est qu'elle soit ouverte le plus tard possible.
Mais pour les valeurs du jour il y a effectivement un risque.
C'est la même qu'avant à un minuscule détail près : les records du mois étaient dans un petit tableau à part. (tag de Chriss oblige)webmaster a écrit : Alors là, jolie, très jolie même !
Gloups ! Désolé... Il y a eu tellement de posts !webmaster a écrit : 10 pages plus haut !
Si je ne me suis pas trompé dans le code, cela devrait être totalement transparent, à suivre....
Pour le code, je te fais confiance.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Heuuuu nous en reparlerons dans quatre mois !Tudgur a écrit : Pour le code, je te fais confiance.
Cordialement
Rieux
Rieux
-
- Participation 0
- Messages : 45
- Enregistré le : 03 janv. 2008, 11:29
- Localisation : Plabennec (29)
- Contact :
Re: les records un mois donné
Dommage, merci pour ta réponse !webmaster a écrit : Non, pas à ma connaissance non plus !
Pour moi il manque un ($jour = date("z") + 1) du 1er janvier au 28 février (date("z") < 60), ou alors j’ai loupé quelque chose dans ton code…webmaster a écrit :Heuuuu nous en reparlerons dans quatre mois !Tudgur a écrit : Pour le code, je te fais confiance.
Bonne nuit.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Bonsoir,Lud29 a écrit : Pour moi il manque un ($jour = date("z") + 1) du 1er janvier au 28 février (date("z") < 60), ou alors j’ai loupé quelque chose dans ton code…
Bonne nuit.
Code : Tout sélectionner
if (date("L") == 1 and date("z") >= 60) {$jour = date("z") + 1;
}
elseif (date("L") == 0 and date("z") >= 60) {$jour = date("z") + 2;
}
Reprenons si bissextile:
28 Février - 59ème jour = date date("z") + 1 -> $jour = 59
29 Février - 60ème jour = date date("z") + 1 -> $jour = 60
01 Mars - 61ème jour = date date("z") + 1 -> $jour = 61
Si non bissextile:
28 Février - 59ème jour = date date("z") + 1 -> $jour = 59
01 Mars - 60ème jour = date date("z") + 2 -> $jour = 61
02 Mars - 61ème jour = date date("z") + 2 -> $jour = 62
Je ne vois pas de problème, mais je loupe peut être quelque chose !
Cordialement
Rieux
Rieux
-
- Participation 0
- Messages : 45
- Enregistré le : 03 janv. 2008, 11:29
- Localisation : Plabennec (29)
- Contact :
Re: les records un mois donné
Je suis d’accord avec ça !webmaster a écrit : Reprenons si bissextile:
28 Février - 59ème jour = date date("z") + 1 -> $jour = 59
29 Février - 60ème jour = date date("z") + 1 -> $jour = 60
01 Mars - 61ème jour = date date("z") + 1 -> $jour = 61
Si non bissextile:
28 Février - 59ème jour = date date("z") + 1 -> $jour = 59
01 Mars - 60ème jour = date date("z") + 2 -> $jour = 61
02 Mars - 61ème jour = date date("z") + 2 -> $jour = 62
Mais pour renter dans le « if » ou le « ifelse », il faut dans les deux cas que « date("z") » soit supérieur ou égal à 60 « and date("z")>= 60 » !
Si nous sommes entre le 1er janvier et le 29 février (bissextile) ou 1er mars inclus (non bissextile), « $jour » ne sera pas déclaré !
Par exemple le cas du 1er janvier, date("z") sera égal à « 0 », il faudra donc un « $jour = date("z") + 1 » ! Non ?
Je vois plutôt ceci:
Code : Tout sélectionner
if (date("L") == 0 and date("z") >= 59) {$jour = date("z") + 2;
}
else {$jour = date("z") + 1;
}
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: les records un mois donné
Bonjour,
Aïe aïe aïe, affaire de spécialistes !
Et par rapport à l'heure UTC, ça dit quoi ?
Je me suis peut être emballé pour mettre mes nouveaux tableaux en ligne.
Surprise ce matin.
Hier j'ai rempli la base pour la date (année) de la pluie max et de l'ensoleillement max journaliers jusqu'au 31 décembre.
Mais ce matin, plus de dates pour aujourd'hui, effacées de la base !
De plus, l'ensoleillement était celui de la veille ! (pb heure UTC ?)
La hauteur de pluie affichée n'était pas la bonne...
Le reste est bon...
Edit : je viens d'effacer une bonne partie de ce post.
J'ai fait quelques modifs dans les fichier extremes.php : j'avais laissé les références aux dates et heures pour la pluie et l'ensoleillement.
Et il me manquait les lignes :
$wswin_date_pluie_max='%ws_date%';
$wswin_date_soleil_max='%ws_date%';
J'ai fait un test en "faisant tomber" 4mm de pluie ce matin pour battre le record du 12 octobre.
Il s'est bien affiché avec la date d'aujourd'hui qui a écrasé l'autre..
Aïe aïe aïe, affaire de spécialistes !
Et par rapport à l'heure UTC, ça dit quoi ?
Je me suis peut être emballé pour mettre mes nouveaux tableaux en ligne.
Surprise ce matin.
Hier j'ai rempli la base pour la date (année) de la pluie max et de l'ensoleillement max journaliers jusqu'au 31 décembre.
Mais ce matin, plus de dates pour aujourd'hui, effacées de la base !
De plus, l'ensoleillement était celui de la veille ! (pb heure UTC ?)
La hauteur de pluie affichée n'était pas la bonne...
Le reste est bon...
Edit : je viens d'effacer une bonne partie de ce post.
J'ai fait quelques modifs dans les fichier extremes.php : j'avais laissé les références aux dates et heures pour la pluie et l'ensoleillement.
Et il me manquait les lignes :
$wswin_date_pluie_max='%ws_date%';
$wswin_date_soleil_max='%ws_date%';
J'ai fait un test en "faisant tomber" 4mm de pluie ce matin pour battre le record du 12 octobre.
Il s'est bien affiché avec la date d'aujourd'hui qui a écrasé l'autre..
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Bonjour,
J'ai totalement mélangé la valeur calculée et la valeur primaire sur laquelle est établie la condition.
Le script PHP travaille sur l'heure du serveur.
Autant pour les extrêmes mensuels je suis entièrement d'accord et cela allège grandement le code, mais pas pour les extrêmes journaliers.
Et Lud29 a bien fait de passer car il a entièrement raison !Tudgur a écrit : Aïe aïe aïe, affaire de spécialistes !
Et par rapport à l'heure UTC, ça dit quoi ?
J'ai totalement mélangé la valeur calculée et la valeur primaire sur laquelle est établie la condition.
Le script PHP travaille sur l'heure du serveur.
Là je ne comprends pas l’intérêt de remplir ces lignes manuellement alors qu'elles vont se remplir automatiquement !Tudgur a écrit : Hier j'ai rempli la base pour la date (année) de la pluie max et de l'ensoleillement max journaliers jusqu'au 31 décembre.
Autant pour les extrêmes mensuels je suis entièrement d'accord et cela allège grandement le code, mais pas pour les extrêmes journaliers.
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: les records un mois donné
Si on considère la temp_mini par exemple, on peut écrire ceciwebmaster a écrit :Là je ne comprends pas l’intérêt de remplir ces lignes manuellement alors qu'elles vont se remplir automatiquement !Tudgur a écrit : Hier j'ai rempli la base pour la date (année) de la pluie max et de l'ensoleillement max journaliers jusqu'au 31 décembre.
Autant pour les extrêmes mensuels je suis entièrement d'accord et cela allège grandement le code, mais pas pour les extrêmes journaliers.
Code : Tout sélectionner
$wswin_2006_temp_min='%minvalpast[6~%ws_day2%~%ws_month2%~2006]%';
$wswin_2006_date_temp_min='%ws_cutstr=1~6~%mindatepast[6~%ws_day2%~%ws_month2%~2006]%%';
$wswin_2006_heure_temp_min='%mintimepast[6~%ws_day2%~%ws_month2%~2006]%';
Code : Tout sélectionner
$wswin_2006_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2006]%';
$wswin_2007_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2007]%';
$wswin_2008_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2008]%';
$wswin_2009_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2009]%';
$wswin_2010_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2010]%';
$wswin_pluie_max='%rainday%';
$wswin_date_pluie_max='%ws_cutstr=1~6~%ws_date%%';
Comment la date de la pluie max pourrait-elle être inputée dans la base ?
Dans extremes.php, j'avais ceci :
Code : Tout sélectionner
if ($pluie_max < $wswin_2006_pluie_max) {$pluie_max=$wswin_2006_pluie_max; $date_pluie_max=$wswin_2006_date_pluie_max; $heure_pluie_max=$wswin_2006_heure_pluie_max;}
if ($pluie_max < $wswin_2007_pluie_max) {$pluie_max=$wswin_2007_pluie_max; $date_pluie_max=$wswin_2007_date_pluie_max; $heure_pluie_max=$wswin_2007_heure_pluie_max;}
if ($pluie_max < $wswin_2008_pluie_max) {$pluie_max=$wswin_2008_pluie_max; $date_pluie_max=$wswin_2008_date_pluie_max; $heure_pluie_max=$wswin_2008_heure_pluie_max;}
if ($pluie_max < $wswin_2009_pluie_max) {$pluie_max=$wswin_2009_pluie_max; $date_pluie_max=$wswin_2009_date_pluie_max; $heure_pluie_max=$wswin_2009_heure_pluie_max;}
if ($pluie_max < $wswin_2010_pluie_max) {$pluie_max=$wswin_2010_pluie_max; $date_pluie_max=$wswin_2010_date_pluie_max; $heure_pluie_max=$wswin_2010_heure_pluie_max;}
if ($pluie_max < $wswin_pluie_max) {$pluie_max=$wswin_pluie_max; $date_pluie_max=$wswin_date_pluie_max; $heure_pluie_max=$wswin_heure_pluie_max;}
Code : Tout sélectionner
if ($pluie_max < $wswin_2006_pluie_max) {$pluie_max=$wswin_2006_pluie_max;}
if ($pluie_max < $wswin_2007_pluie_max) {$pluie_max=$wswin_2007_pluie_max;}
if ($pluie_max < $wswin_2008_pluie_max) {$pluie_max=$wswin_2008_pluie_max;}
if ($pluie_max < $wswin_2009_pluie_max) {$pluie_max=$wswin_2009_pluie_max;}
if ($pluie_max < $wswin_2010_pluie_max) {$pluie_max=$wswin_2010_pluie_max;}
if ($pluie_max < $wswin_pluie_max) {$pluie_max=$wswin_pluie_max; $date_pluie_max=$wswin_date_pluie_max;}
De 2006 à 2010, il ne peut y avoir de date, ce qui explique que celles que j'avais rentrées ont été effacées.
Le record de pluie un 12 octobre étant en 2006, date que j'ai rentrée hier, cette date a été effacée.
Cette ligne
Code : Tout sélectionner
if ($pluie_max < $wswin_2006_pluie_max) {$pluie_max=$wswin_2006_pluie_max; $date_pluie_max=$wswin_2006_date_pluie_max; $heure_pluie_max=$wswin_2006_heure_pluie_max;}
Après mes modifs, j'ai fais des tests : la date rentrée manuellement n'est pas effacée et si le record est aujourd'hui (essai manuel de 4mm de pluie), la pluvio et la date sont modifiées dans la base.
Je fais une erreur quelque part ?
Ou alors, peut-être peut-on faire ceci tout simplement :
Code : Tout sélectionner
$wswin_2006_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2006]%';
$wswin_2006_date_pluie_max='2006';
$wswin_2007_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2007]%';
$wswin_2007_date_pluie_max='2007';
$wswin_2008_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2008]%';
$wswin_2008_date_pluie_max='2008';
$wswin_2009_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2009]%';
$wswin_2009_date_pluie_max='2009';
$wswin_2010_pluie_max='%avgvalpast[34~%ws_day2%~%ws_month2%~2010]%';
$wswin_2010_date_pluie_max='2010';
$wswin_pluie_max='%rainday%';
$wswin_date_pluie_max='%ws_cutstr=1~6~%ws_date%%';
Et ceci serait valables pour tous les tags on ne veut pas de l'heure.
Modifié en dernier par Tudgur le 12 oct. 2011, 10:13, modifié 1 fois.
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Bonjour,
Oui tu as raison, ou alors de cette manière également.Lud29 a écrit : Je vois plutôt ceci:A+Code : Tout sélectionner
if (date("L") == 0 and date("z") >= 59) {$jour = date("z") + 2; } else {$jour = date("z") + 1; }
Code : Tout sélectionner
$jour = date("z") + 1;
if (date("L") == 0 and $jour >= 60) {$jour = $jour + 1;
}
Cordialement
Rieux
Rieux
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Si une valeur de (le jour et le mois présent en 2006 par exemple) est plus forte que les autres, obligatoirement elle est mesurée le jour et le mois présent en 2006.Tudgur a écrit : Dans ce cas les années devraient être imputées automatiquement...
Et ceci serait valables pour tous les tags on ne veut pas de l'heure.
Pourquoi ne pas imputer la variable date de cette manière ?
Code : Tout sélectionner
$wswin_2006_soleil_max='%ws_timetoval[%ws_getmem[55]%]%';
$wswin_2006_date_soleil_max='%ws_day2%/%ws_month2%/2006';
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: les records un mois donné
Parce que nous sommes le 12 octobre et %ws_day2% va donner 12 !webmaster a écrit : Pourquoi ne pas imputer la variable date de cette manière ?Code : Tout sélectionner
$wswin_2006_soleil_max='%ws_timetoval[%ws_getmem[55]%]%'; $wswin_2006_date_soleil_max='%ws_day2%/%ws_month2%/2006';
De même, %ws_month2% va donner 10 !
Le titre de mon tableau est (aujourd'hui) : "Les records un 12 octobre"
Donc inutile d'avoir comme date 12/10/2006. Seul le 2006 est intéressant !!!
D'où ma proposition :
Code : Tout sélectionner
$wswin_2006_soleil_max='%ws_timetoval[%ws_getmem[55]%]%';
$wswin_2006_date_soleil_max='2006';
- webmaster
- Site Admin
- Messages : 2611
- Enregistré le : 12 déc. 2006, 20:54
- Localisation : Rieux 51 FRANCE
- Contact :
Re: les records un mois donné
Oui mais ce n'est pas grave puisque durant l'affichage tu tronques l’excédant.
Mais bon, que tu ne garde que l'année ne pose pas de problème particulier.
Mais cela n'explique pas pourquoi tu veux rentrer manuellement cette date alors que tu peux l'avoir de manière automatique !
Mais bon, que tu ne garde que l'année ne pose pas de problème particulier.
Mais cela n'explique pas pourquoi tu veux rentrer manuellement cette date alors que tu peux l'avoir de manière automatique !
Cordialement
Rieux
Rieux
-
- Participation 0
- Messages : 45
- Enregistré le : 03 janv. 2008, 11:29
- Localisation : Plabennec (29)
- Contact :
Re: les records un mois donné
Bonjour,
A+
Oui, c’est vrai !webmaster a écrit : Oui tu as raison, ou alors de cette manière également.Code : Tout sélectionner
$jour = date("z") + 1; if (date("L") == 0 and $jour >= 60) {$jour = $jour + 1; }
Si tu veux être en heure UTC dans ton script, tu peux utiliser la fonction suivante avant d’utiliser la fonction « date() » :Tudgur a écrit : Et par rapport à l'heure UTC, ça dit quoi ?
Code : Tout sélectionner
date_default_timezone_set('UTC');
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: les records un mois donné
Non, je ne veux pas rentrer manuellement les date !webmaster a écrit :Mais cela n'explique pas pourquoi tu veux rentrer manuellement cette date alors que tu peux l'avoir de manière automatique !
Je pensais que je devais le faire.
Ce n'est que ce matin que je me suis rendu compte (après les problèmes rencontrés) que je pouvais / devais ajouter ce genre de ligne :
Code : Tout sélectionner
$wswin_2006_date_soleil_max='2006';
Travail inutile. Tant pis.
Autrement dit, si je comprends bien, cette nuit à 0h05 locale, on a changé de ligne dans la base alors que Wswin qui est en UTC, en était encore à 22h05 la veille.Lud29 a écrit : Si tu veux être en heure UTC dans ton script, tu peux utiliser la fonction suivante avant d’utiliser la fonction « date() » :Code : Tout sélectionner
date_default_timezone_set('UTC');
Et donc c'est mon ensoleillement d'hier qui a été enregistré pour aujourd'hui dans la base.
C'est bien ça ?
Il faut donc que je rajoute cette ligne !
Edit : où est l'erreur ?
Voici mes tag d'ensoleillement dans wswin_extremes.txt :
Code : Tout sélectionner
$wswin_2007_soleil_max='%ws_setmem[55]=%ws_cutstr=0~7~%sundaypast[%ws_day2%~%ws_month2%~2007]%%% %ws_timetoval[%ws_getmem[55]%]%';
$wswin_2007_date_soleil_max='2007';
$wswin_2008_soleil_max='%ws_setmem[55]=%ws_cutstr=0~7~%sundaypast[%ws_day2%~%ws_month2%~2008]%%% %ws_timetoval[%ws_getmem[55]%]%';
$wswin_2008_date_soleil_max='2008';
$wswin_2009_soleil_max='%ws_setmem[55]=%ws_cutstr=0~7~%sundaypast[%ws_day2%~%ws_month2%~2009]%%% %ws_timetoval[%ws_getmem[55]%]%';
$wswin_2009_date_soleil_max='2009';
$wswin_2010_soleil_max='%ws_setmem[55]=%ws_cutstr=0~7~%sundaypast[%ws_day2%~%ws_month2%~2010]%%% %ws_timetoval[%ws_getmem[55]%]%';
$wswin_2010_date_soleil_max='2010';
$wswin_soleil_max='%sunday_d%';
$wswin_date_soleil_max='%ws_cutstr=1~6~%ws_date%%';
Code : Tout sélectionner
$wswin_2007_soleil_max=' ';
$wswin_2007_date_soleil_max='2007';
$wswin_2008_soleil_max=' 2.25';
$wswin_2008_date_soleil_max='2008';
$wswin_2009_soleil_max=' 9.23';
$wswin_2009_date_soleil_max='2009';
$wswin_2010_soleil_max=' 9.02';
$wswin_2010_date_soleil_max='2010';
$wswin_soleil_max='2.93';
$wswin_date_soleil_max='2011';
2007 : 2:20h
2008 : 9:14h
2009 : 9:01h
2010 : 8:33h
2011 : c'est bon.
Il y a un décalage d'une année et encore, 2:20h ça n'a jamais fait 2.25h mais2.33h !!!
Je suis bigleux ou quoi ? Où est l'erreur ?
Pourquoi toujours 55 dans les tags ?