les records un mois donné

Forum destiné aux problèmes de Tags, recherche d’une fonction, d’un calcul, Tag qui parait ne pas fonctionner, du Tag et rien que du Tag !
Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 11 oct. 2011, 12:58

Bonjour,
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 !
Non, pas à ma connaissance non plus !
Cordialement

Rieux

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: les records un mois donné

Message par Tudgur » 11 oct. 2011, 14:22

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.
Alors dans l'index !
Mais pour les valeurs du jour il y a effectivement un risque.
webmaster a écrit : Alors là, jolie, très jolie même !
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 : :evil: :evil: :evil: 10 pages plus haut !
Si je ne me suis pas trompé dans le code, cela devrait être totalement transparent, à suivre....
Gloups ! :oops: Désolé... Il y a eu tellement de posts !
Pour le code, je te fais confiance.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 11 oct. 2011, 21:05

Tudgur a écrit : Pour le code, je te fais confiance.
Heuuuu nous en reparlerons dans quatre mois !
Cordialement

Rieux

Lud29
Participation 0
Participation 0
Messages : 45
Enregistré le : 03 janv. 2008, 11:29
Localisation : Plabennec (29)
Contact :

Re: les records un mois donné

Message par Lud29 » 11 oct. 2011, 21:32

webmaster a écrit : Non, pas à ma connaissance non plus !
Dommage, merci pour ta réponse !
webmaster a écrit :
Tudgur a écrit : Pour le code, je te fais confiance.
Heuuuu nous en reparlerons dans quatre mois !
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.

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 11 oct. 2011, 22:06

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.
Bonsoir,

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;
}
Je me suis peut être planté, c'est possible.

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

Lud29
Participation 0
Participation 0
Messages : 45
Enregistré le : 03 janv. 2008, 11:29
Localisation : Plabennec (29)
Contact :

Re: les records un mois donné

Message par Lud29 » 11 oct. 2011, 22:59

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
Je suis d’accord avec ça !
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 ?

Image

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;
}
A+

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: les records un mois donné

Message par Tudgur » 12 oct. 2011, 06:43

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..
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 12 oct. 2011, 09:17

Bonjour,
Tudgur a écrit : Aïe aïe aïe, affaire de spécialistes !
Et par rapport à l'heure UTC, ça dit quoi ?
Et Lud29 a bien fait de passer car il a entièrement raison !
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.
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.
Là je ne comprends pas l’intérêt de remplir ces lignes manuellement alors qu'elles vont se remplir automatiquement !
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

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: les records un mois donné

Message par Tudgur » 12 oct. 2011, 09:52

webmaster a écrit :
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.
Là je ne comprends pas l’intérêt de remplir ces lignes manuellement alors qu'elles vont se remplir automatiquement !
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.
Si on considère la temp_mini par exemple, on peut écrire ceci

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]%';
Mais pour la pluie maxi d'un jour (de 2006 à 2010); il n'y a aucun tag pour donner la date et encore moins l'heure (qui ne peut pas exister)

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%%';
Idem pour l'ensoleillement !
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;}
que je viens de modifier comme ceci :

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;}
idem pour l'ensoleillement.
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;}
ne donne aucune date et efface donc celle que j'avais mise.

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%%';
Dans ce cas les années devraient être inputées automatiquement...

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.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 12 oct. 2011, 10:05

Bonjour,
Lud29 a écrit : 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;
}
A+
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;
}
Cordialement

Rieux

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 12 oct. 2011, 10:16

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.
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.
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';
Idem pour les autres années et la pluie !
Cordialement

Rieux

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: les records un mois donné

Message par Tudgur » 12 oct. 2011, 11:00

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';
Parce que nous sommes le 12 octobre et %ws_day2% va donner 12 !
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';
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: les records un mois donné

Message par webmaster » 12 oct. 2011, 11:35

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 !
Cordialement

Rieux

Lud29
Participation 0
Participation 0
Messages : 45
Enregistré le : 03 janv. 2008, 11:29
Localisation : Plabennec (29)
Contact :

Re: les records un mois donné

Message par Lud29 » 12 oct. 2011, 11:39

Bonjour,
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;
}
Oui, c’est vrai ! :wink:
Tudgur a écrit : Et par rapport à l'heure UTC, ça dit quoi ?
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');
A+

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: les records un mois donné

Message par Tudgur » 12 oct. 2011, 13:11

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 !
Non, je ne veux pas rentrer manuellement les date !
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';
Et Dieu sait si c'est long de rechercher ces dates et de les rentrer manuellement!!! :twisted:
Travail inutile. Tant pis.
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');
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.
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%%';
Ce qui donne :

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';
Et les graphiques (ainsi que le tag de chriss) donnent :
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 ?
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Répondre