Page 5 sur 25

Re: les records un mois donné

Posté : 04 oct. 2011, 17:50
par webmaster
Il doit y avoir un problème sur les lignes de test.
Peux-tu nous les montrer également ?

Re: les records un mois donné

Posté : 04 oct. 2011, 18:27
par kalimero
Bonsoir
je reprend en cours de route
chez moi le fichier generer par wswin (wswin_extremes.php)ne contient aucune valeurs
si joint un extrait
<!-- %openfile=custom_.txt% -->
<?php



$wswin_2008_temp_min='--';
$wswin_2008_date_temp_min='--';
$wswin_2008_heure_temp_min='--';

$wswin_2008_temp_max='--';
$wswin_2008_date_temp_max='--';
$wswin_2008_heure_temp_max='--';

$wswin_2009_temp_min='--';
$wswin_2009_date_temp_min='--';
$wswin_2009_heure_temp_min='--';

$wswin_2009_temp_max='--';
$wswin_2009_date_temp_max='--';
$wswin_2009_heure_temp_max='--';


$wswin_2010_temp_min='--';
$wswin_2010_date_temp_min='--';
$wswin_2010_heure_temp_min='--';

Re: les records un mois donné

Posté : 04 oct. 2011, 19:12
par Tudgur
webmaster a écrit :Il doit y avoir un problème sur les lignes de test.
Peux-tu nous les montrer également ?
Pas de problème !

Code : Tout sélectionner

<head>
<meta content="fr" http-equiv="Content-Language">
</head>

<?php
if (date("L") == 1 and date("z") >= 60) {$jour = date("z") + 1;
}
elseif (date("L") == 0 and date("z") >= 60) {$jour = date("z") + 2;
}
$mois=(1000 + date("n"));
$db = mysql_connect('sql4', 'xxxxxxxxxx', 'xxxxxxxxx');
mysql_query("set names UTF8");
mysql_select_db('meteoplouguerne_extremes',$db);
$sql = "SELECT temp_min,date_temp_min,heure_temp_min FROM mois WHERE id='$jour'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    $temp_min=$data['temp_min'];
    $date_temp_min=$data['date_temp_min'];
    $heure_temp_min=$data['heure_temp_min'];
    }

   include("wswin_extremes.php");
if ($temp_min > $wswin_2006_temp_min) {$temp_min=$wswin_2006_temp_min; $date_temp_min=$wswin_2006_date_temp_min; $heure_temp_min=$wswin_2006_heure_temp_min;}
if ($temp_min > $wswin_2007_temp_min) {$temp_min=$wswin_2007_temp_min; $date_temp_min=$wswin_2007_date_temp_min; $heure_temp_min=$wswin_2007_heure_temp_min;}
if ($temp_min > $wswin_2008_temp_min) {$temp_min=$wswin_2008_temp_min; $date_temp_min=$wswin_2008_date_temp_min; $heure_temp_min=$wswin_2008_heure_temp_min;}
if ($temp_min > $wswin_2009_temp_min) {$temp_min=$wswin_2009_temp_min; $date_temp_min=$wswin_2009_date_temp_min; $heure_temp_min=$wswin_2009_heure_temp_min;}
if ($temp_min > $wswin_2010_temp_min) {$temp_min=$wswin_2010_temp_min; $date_temp_min=$wswin_2010_date_temp_min; $heure_temp_min=$wswin_2010_heure_temp_min;}
if ($temp_min > $wswin_temp_min) {$temp_min=$wswin_temp_min; $date_temp_min=$wswin_date_temp_min; $heure_temp_min=$wswin_heure_temp_min;}

mysql_query ("UPDATE mois SET temp_min='$mois_temp_min',date_temp_min='$mois_date_temp_min',heure_temp_min='$mois_heure_temp_min' WHERE id='$jour' ");   
mysql_close();
?>

Re: les records un mois donné

Posté : 04 oct. 2011, 19:44
par Lud29
Bonjour,

C'est une excellente idée ce script pour l'archivage des records !
Tudgur a écrit :

Code : Tout sélectionner

<head>
<meta content="fr" http-equiv="Content-Language">
</head>

<?php
if (date("L") == 1 and date("z") >= 60) {$jour = date("z") + 1;
}
elseif (date("L") == 0 and date("z") >= 60) {$jour = date("z") + 2;
}
$mois=(1000 + date("n"));
$db = mysql_connect('sql4', 'xxxxxxxxxx', 'xxxxxxxxx');
mysql_query("set names UTF8");
mysql_select_db('meteoplouguerne_extremes',$db);
$sql = "SELECT temp_min,date_temp_min,heure_temp_min FROM mois WHERE id='$jour'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    $temp_min=$data['temp_min'];
    $date_temp_min=$data['date_temp_min'];
    $heure_temp_min=$data['heure_temp_min'];
    }

   include("wswin_extremes.php");
if ($temp_min > $wswin_2006_temp_min) {$temp_min=$wswin_2006_temp_min; $date_temp_min=$wswin_2006_date_temp_min; $heure_temp_min=$wswin_2006_heure_temp_min;}
if ($temp_min > $wswin_2007_temp_min) {$temp_min=$wswin_2007_temp_min; $date_temp_min=$wswin_2007_date_temp_min; $heure_temp_min=$wswin_2007_heure_temp_min;}
if ($temp_min > $wswin_2008_temp_min) {$temp_min=$wswin_2008_temp_min; $date_temp_min=$wswin_2008_date_temp_min; $heure_temp_min=$wswin_2008_heure_temp_min;}
if ($temp_min > $wswin_2009_temp_min) {$temp_min=$wswin_2009_temp_min; $date_temp_min=$wswin_2009_date_temp_min; $heure_temp_min=$wswin_2009_heure_temp_min;}
if ($temp_min > $wswin_2010_temp_min) {$temp_min=$wswin_2010_temp_min; $date_temp_min=$wswin_2010_date_temp_min; $heure_temp_min=$wswin_2010_heure_temp_min;}
if ($temp_min > $wswin_temp_min) {$temp_min=$wswin_temp_min; $date_temp_min=$wswin_date_temp_min; $heure_temp_min=$wswin_heure_temp_min;}

mysql_query ("UPDATE mois SET temp_min='$mois_temp_min',date_temp_min='$mois_date_temp_min',heure_temp_min='$mois_heure_temp_min' WHERE id='$jour' ");   
mysql_close();
?>
Il semble y avoir un problème avec les variables PHP dans cette ligne:

Code : Tout sélectionner

mysql_query ("UPDATE mois SET temp_min='$mois_temp_min',date_temp_min='$mois_date_temp_min',heure_temp_min='$mois_heure_temp_min' WHERE id='$jour' "); 
J’aurai plutôt fait ça:

Code : Tout sélectionner

mysql_query ("UPDATE mois SET temp_min='$temp_min',date_temp_min='$date_temp_min',heure_temp_min='$heure_temp_min' WHERE id='$jour' ");
@+

Re: les records un mois donné

Posté : 04 oct. 2011, 19:49
par webmaster
Bonjour,

Bien vu, j'ai copié la mauvaise ligne !

Re: les records un mois donné

Posté : 04 oct. 2011, 19:51
par Tudgur
Salut Ludovic !
Œil de lynx est passé par là et ça marche !!!
Il faut décidément que je m'achète des yeux neufs. :lol:

Re: les records un mois donné

Posté : 04 oct. 2011, 19:52
par webmaster
Et moi j'ai beau reculé l'échéance je vais devoir y venir !

Re: les records un mois donné

Posté : 04 oct. 2011, 21:20
par webmaster
kalimero a écrit :
$wswin_2008_temp_min='--';
$wswin_2008_date_temp_min='--';
$wswin_2008_heure_temp_min='--';

$wswin_2008_temp_max='--';
$wswin_2008_date_temp_max='--';
$wswin_2008_heure_temp_max='--';

$wswin_2009_temp_min='--';
$wswin_2009_date_temp_min='--';
$wswin_2009_heure_temp_min='--';

$wswin_2009_temp_max='--';
$wswin_2009_date_temp_max='--';
$wswin_2009_heure_temp_max='--';


$wswin_2010_temp_min='--';
$wswin_2010_date_temp_min='--';
$wswin_2010_heure_temp_min='--';
La comme çà tout de suite je sèche un peu !

Re: les records un mois donné

Posté : 04 oct. 2011, 21:53
par Tudgur
Le tag "mindatepast" qui donne le format JJ/MM/AAAA, pose un petit problème

Pour les extrêmes d'un jour, pourquoi afficher la date du jour ?
C'est sûr que le minimum d'un 4 octobre c’était un 4 octobre !!!
Donc l'année et l'heure suffisent non ? On pourrait avoir la "format" : 7.1 °C en 2008 à 02:26 h
Avec ws_cutstr ce devrait être possible.

Pour les extrêmes mensuels, le mois sera également inutile : les records d'un mois d'octobre, ce sera toujours en octobre...
Donc inutile d'afficher le mois.
Et un format du genre : 1.5 °C en 2007, le 21 à 03:48 h (mais l'heure est-elle nécessaire ?)

Re: les records un mois donné

Posté : 05 oct. 2011, 05:49
par Tudgur
Bonjour,
kalimero a écrit : chez moi le fichier generer par wswin (wswin_extremes.php)ne contient aucune valeurs
A tout hasard, tu as quelle station ? Je n'ai trouvé aucune indication sur ton site.
C'est peut-être l'id6 qui n'est pas bon chez toi...

PS : concernant ton site, fais gaffe à l'orthographe !!!
Pas moins de 18 fautes sur ta page d'accueil, essentiellement des fautes d'accents.
Sans compter la ponctuation : il manque des virgules et des espaces...

Re: les records un mois donné

Posté : 05 oct. 2011, 06:48
par webmaster
Bonjour,
Tudgur a écrit : A tout hasard, tu as quelle station ? Je n'ai trouvé aucune indication sur ton site.
C'est peut-être l'id6 qui n'est pas bon chez toi...
Mince, je me suis levé trop tard !
J'y ai pensé trop tard hier, mais ça ne peut être que çà.
Remplace l'id6 spécifique à la vantage par l'id0 qui doit être la sonde extérieure.
Je devais vraiment avoir le neurone embué hier soir pour ne pas y avoir pensé.

Re: les records un mois donné

Posté : 05 oct. 2011, 06:58
par Tudgur
Tudgur a écrit :Le tag "mindatepast" qui donne le format JJ/MM/AAAA, pose un petit problème

Pour les extrêmes d'un jour, pourquoi afficher la date du jour ?
C'est sûr que le minimum d'un 4 octobre c’était un 4 octobre !!!
Donc l'année et l'heure suffisent non ? On pourrait avoir la "format" : 7.1 °C en 2008 à 02:26 h
Avec ws_cutstr c'est possible :

$wswin_2006_date_temp_min='%ws_cutstr=1~6~%mindatepast[6~%ws_day2%~%ws_month2%~2006]%%';
donne
$wswin_2006_date_temp_min='2006';

Pour les extrêmes mensuels, le mois sera également inutile : les records d'un mois d'octobre, ce sera toujours en octobre...
Donc inutile d'afficher le mois.
Et un format du genre : 1.5 °C en 2007, le 21 à 03:48 h (mais l'heure est-elle nécessaire ?)
Avec 2 cutstr + ",&nbsp;le" ce sera possible...

Re: les records un mois donné

Posté : 05 oct. 2011, 07:01
par webmaster
Tudgur a écrit : Le tag "mindatepast" qui donne le format JJ/MM/AAAA, pose un petit problème
Ce n'est pas un réellement un problème en soit.
L'ensemble du code est pour le moment une ébauche et j'y applique encore pas mal de modifications.
Ton raisonnement est évidement logique, le mien est qui peut le plus peut le moins ! Il est donc facile de tronquer une partie de la date afin de n'en garder que la partie souhaitée. Mais tu peux également n'enregistrer que la partie que tu souhaites.
Mais juste pour indication, ce matin ma base avait des valeurs d'hier sur la journée d'aujourd'hui, sans la date complète je ne l'aurais pas vu.
Peut être une génération de custom à minuit, je vais surveiller çà et éventuellement ajouter un offset.

Re: les records un mois donné

Posté : 05 oct. 2011, 07:04
par Tudgur
Oups !!!
Je me suis répondu à moi-même au lieu de faire un edit...
Voire plus haut.

Re: les records un mois donné

Posté : 05 oct. 2011, 07:07
par Tudgur
webmaster a écrit :Je devais vraiment avoir le neurone embué hier soir pour ne pas y avoir pensé.
Tu n'en as peut-être qu'un, mais il est de taille !!! :lol:
webmaster a écrit : Mais tu peux également n'enregistrer que la partie que tu souhaites.
C'est à dire ?
webmaster a écrit :Mais juste pour indication, ce matin ma base avait des valeurs d'hier sur la journée d'aujourd'hui, sans la date complète je ne l'aurais pas vu.
Peut être une génération de custom à minuit, je vais surveiller çà et éventuellement ajouter un offset.
Chez moi, c'est bon.