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 !
Répondre
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 » 05 oct. 2011, 13:44

Tudgur a écrit :Il n'y a pas un petit soucis là ?
Entre les deux lignes, donc après mysql_query et avant avant mysql_close ?
Oui exactement.
Tudgur a écrit : Alors avant ou après ?
mysql_query ("UPDATE est la partie qui écrit dans la base après les test, comme pour la partie jour.
Tudgurr a écrit : Tu veux dire que tu fais tous les extrêmes de 2006 (temp max, temp min, pression max, pression min, vent max, etc ), puis ceux de 2007... ?
Et oui, pas le choix pendant un an !
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 » 05 oct. 2011, 14:26

Je crois que tu n'as pas saisi ce que je voulais dire.
Dans ton post précédent tu demandes de placer les comparaisons mensuelles entre mysql_query et mysql_close, donc après mysql_query mais dans ton exemple, juste après, tu les places avant mysql_query !!!
Pour la partie faite hier, extrêmes du jour, j'ai placé les comparaisons avant mysql_query et cela à l'air de fonctionner. Alors, pour les extrês du mois, c'est différent ? Avant ou après mysql_query ?

Sinon la proposition que tu faisais, pour ne pas s’emmêler les pinceaux, c'est de faire d'abord tous les extrêmes de 2006, jour et mois, puis ceux de 2007, etc.. C'est bien cela ?
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 » 05 oct. 2011, 14:55

Ok, je crois comprendre que le fait qu'il ait deux lignes d'enregistrements de données perturbe la compréhension.
Il faut placer les tests mensuels après l'enregistrement des données jour mais avant la ligne d’enregistrement des données mois comme ci-dessous.

Code : Tout sélectionner

<?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('HOST', 'IDENTIFIANT', 'MOT DE PASSE');
mysql_query("set names UTF8");
mysql_select_db('NON DE LA BASE DE DONNEES',$db);
$sql = "SELECT temp_min,date_temp_min,heure_temp_min FROM NOM DE LA TABLE 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'];
    }

$sql = "SELECT temp_min,date_temp_min,heure_temp_min  FROM mois WHERE id='$mois'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    $mois_temp_min=$data['temp_min'];
    $mois_date_temp_min=$data['date_temp_min'];
    $mois_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;}
..... mettre la même chose pour vos différentes années.
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='$temp_min',date_temp_min='$date_temp_min',heure_temp_min='$heure_temp_min' WHERE id='$jour' ");

if ($mois_temp_min > $wswin_2006_mois_temp_min) {$mois_temp_min=$wswin_2006_mois_temp_min; $mois_date_temp_min=$wswin_2006_mois_date_temp_min; $mois_heure_temp_min=$wswin_2006_mois_heure_temp_min;}
..... mettre la même chose pour vos différentes années.
if ($mois_temp_min > $wswin_2010_mois_temp_min) {$mois_temp_min=$wswin_2010_mois_temp_min; $mois_date_temp_min=$wswin_2010_mois_date_temp_min; $mois_heure_temp_min=$wswin_2010_mois_heure_temp_min;}
if ($mois_temp_min > $temp_min) {$mois_temp_min=$temp_min; $mois_date_temp_min=$date_temp_min; $mois_heure_temp_min=$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='$mois' ");
mysql_close();

?>
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 » 05 oct. 2011, 15:37

Là je comprends beaucoup mieux !!! :wink:
Le fichier extremes2.php doit-il être comme ceci ?

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Températures extrêmes</title>
</head>

<body>

<?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', 'meteoplouguerne', '3u4fbF2S');
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'];
    }
$sql = "SELECT temp_min,date_temp_min,heure_temp_min FROM mois WHERE id='$mois'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    $mois_temp_min=$data['temp_min'];
    $mois_date_temp_min=$data['date_temp_min'];
    $mois_heure_temp_min=$data['heure_temp_min'];
    }
	
	mysql_close();
?>

<?php echo $temp_min,'°C   Date ',$date_temp_min,'   Heure ',$heure_temp_min; ?><br />
<?php echo $mois_temp_min,'°C   Date ',$mois_date_temp_min,'   Heure ',$mois_heure_temp_min; ?>
</body>

</html>
Mais j'ai une erreur dans extrêmes.php :
"Parse error: syntax error, unexpected T_VARIABLE in /web/meteoplouguerne/www/wswin_extremes.php on line 6"
Est-ce le 00:00 ?

Code : Tout sélectionner

<?php


	$wswin_2006_temp_min='14.3';    
	$wswin_2006_date_temp_min='2006'
    $wswin_2006_heure_temp_min='00:00';
    $wswin_2007_temp_min='9.8';
    $wswin_2007_date_temp_min='2007';
    $wswin_2007_heure_temp_min='04:50';
    $wswin_2008_temp_min='13.6';
    $wswin_2008_date_temp_min='2008';
    $wswin_2008_heure_temp_min='21:40';	
    $wswin_2009_temp_min='14.3';
    $wswin_2009_date_temp_min='2009';
    $wswin_2009_heure_temp_min='00:00';   
    $wswin_2010_temp_min='14.3';
    $wswin_2010_date_temp_min='2010';
    $wswin_2010_heure_temp_min='22:33';
    $wswin_temp_min='16.2';
    $wswin_date_temp_min='2011';
    $wswin_heure_temp_min='00:49';
	
	$wswin_2006_temp_max='17.6';    
	$wswin_2006_date_temp_max='2006'
    $wswin_2006_heure_temp_max='11:00';
D'après mes mesures, le minimum le 5/2006 est bien 14.3 mais à 0h00 et 7h45...
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 » 05 oct. 2011, 15:48

Une erreur détectée dans le fichier wswin_extremes.php peut avoir pour cause un problème dans le fichier extremes.php, il faut voir !
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 » 05 oct. 2011, 16:38

voici mon fichier extremes.php :

Code : Tout sélectionner

<?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', 'meteoplouguerne', 'xxxxxx');
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'];
    }
$sql = "SELECT temp_min,date_temp_min,heure_temp_min  FROM mois WHERE id='$mois'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    $mois_temp_min=$data['temp_min'];
    $mois_date_temp_min=$data['date_temp_min'];
    $mois_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='$temp_min',date_temp_min='$date_temp_min',heure_temp_min='$heure_temp_min' WHERE id='$jour' ");   

if ($mois_temp_min > $wswin_2006_mois_temp_min) {$mois_temp_min=$wswin_2006_mois_temp_min; $mois_date_temp_min=$wswin_2006_mois_date_temp_min; $mois_heure_temp_min=$wswin_2006_mois_heure_temp_min;}
if ($mois_temp_min > $wswin_2007_mois_temp_min) {$mois_temp_min=$wswin_2007_mois_temp_min; $mois_date_temp_min=$wswin_2007_mois_date_temp_min; $mois_heure_temp_min=$wswin_2007_mois_heure_temp_min;}
if ($mois_temp_min > $wswin_2008_mois_temp_min) {$mois_temp_min=$wswin_2008_mois_temp_min; $mois_date_temp_min=$wswin_2008_mois_date_temp_min; $mois_heure_temp_min=$wswin_2008_mois_heure_temp_min;}
if ($mois_temp_min > $wswin_2008_mois_temp_min) {$mois_temp_min=$wswin_2008_mois_temp_min; $mois_date_temp_min=$wswin_2008_mois_date_temp_min; $mois_heure_temp_min=$wswin_2008_mois_heure_temp_min;}
if ($mois_temp_min > $wswin_2010_mois_temp_min) {$mois_temp_min=$wswin_2010_mois_temp_min; $mois_date_temp_min=$wswin_2010_mois_date_temp_min; $mois_heure_temp_min=$wswin_2010_mois_heure_temp_min;}
if ($mois_temp_min > $temp_min) {$mois_temp_min=$temp_min; $mois_date_temp_min=$date_temp_min; $mois_heure_temp_min=$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='$mois' ");
mysql_close();

?>
Il n'y a pas encore les comparaisons pour la temp max...
Mais je ne vois pas le rapport avec l'erreur dans wswin_extremes.php

Et les variables et tags pour les mini et maxi mensuel, ce sont les mêmes que pour les mini et maxi journaliers ?
$wswin_temp_max=
$wswin_date_temp_max=
$wswin_heure_temp_mois=
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 » 05 oct. 2011, 16:45

Il manque un ; sur la seconde ligne du wswin_extremes.php !

Et probablement idem maintenant en ligne 24.
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 » 05 oct. 2011, 17:00

webmaster a écrit :Il manque un ; sur la seconde ligne du wswin_extremes.php !
Fallait trouver, bravo !!!
Et un autre ; manquant ligne 25.
Aïe aïe aïe, les copier-coller trop rapides...
webmaster a écrit :PS j'ai supprimé ton mot de passe....
Tu as très bien fait, merci beaucoup !
Hier j'ai pris soin de le faire et aujourd'hui, dans l'empressement...

Alors, maintenant, est-ce que je mets les conditions pour les temp max journaliers, directement à la suite de celle des temp min ?
serait-ce
if ($temp_max < $wswin_2006_temp_max)....?
................
.................
Modifié en dernier par Tudgur le 05 oct. 2011, 17:08, modifié 2 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 » 05 oct. 2011, 17:05

Tudgur a écrit : Aïe aïe aïe, les copier-coller trop rapides...
Je connais çà :roll:
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 » 05 oct. 2011, 17:08

Voir mon post plus haut ...
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 » 05 oct. 2011, 17:16

A faire avant si cela n'est déjà fait:
-Créer les lignes dans la table sql.
-ajouter tes nouvelles variables à cette ligne

Code : Tout sélectionner

$sql = "SELECT temp_min,date_temp_min,heure_temp_min FROM mois WHERE id='$jour'";
-Imputer les valeurs comme pour les minimums

Code : Tout sélectionner

$temp_min=$data['temp_min'];
$date_temp_min=$data['date_temp_min'];
$heure_temp_min=$data['heure_temp_min'];
-Faire tes ligne de tets
-Et pour finir ajouter les variables aux lignes mysql_query
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 » 05 oct. 2011, 17:36

webmaster a écrit : -Faire tes lignes de tests
Je mets les conditions pour les temp max journaliers, directement à la suite de celles des temp min ?
comme ceci ?
if ($temp_max < $wswin_2006_temp_max)....?
................
.................
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 » 05 oct. 2011, 17:37

Oui exactement !
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 » 05 oct. 2011, 19:29

Bon, ça fonctionne mais il faut que je modifie un tag !
Puisque je ne veux pas du format JJ/MM/AAA pour les extrêmes mensuels, il faut que j'arrive à avoir "en AAAA, le JJ"
Un peu plus compliqué...
Je dois donc créer une autre variable, par exemple $mois_date_temp_jour_min=$data['date_temp_jour_min'];
Dans le tag de wswin je vais donc couper mois et année.

Pour l'instant, j'ai ceci pour les temp mini et maxi journaliers et pour le mini mensuel.
Ce sont les bonnes valeurs.

Pour la pluie et l’ensoleillement, il n'y a pas de maxi ni de mini, on prend quel tag ?
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 » 05 oct. 2011, 20:04

Tudgur a écrit : Bon, ça fonctionne mais il faut que je modifie un tag !
Puisque je ne veux pas du format JJ/MM/AAA pour les extrêmes mensuels, il faut que j'arrive à avoir "en AAAA, le JJ"
Un peu plus compliqué...
Je dois donc créer une autre variable, par exemple $mois_date_temp_jour_min=$data['date_temp_jour_min'];
Dans le tag de wswin je vais donc couper mois et année.
Pas obligatoirement, je trouve que çà complique grandement les choses !
Je pense qu'il vaut mieux uniformiser la base et comme je te le disais ce matin (ou hier soir je ne sais plus) qui peut le plus peu le moins !
Ca devrait te plaire:

Code : Tout sélectionner

<?php $date_temp_min = explode("/", $date_temp_min); echo $date_temp_min[0],'/',$date_temp_min[2]; ?>
Tudgur a écrit : Pour la pluie et l’ensoleillement, il n'y a pas de maxi ni de mini, on prend quel tag ?
Pour la pluie

Code : Tout sélectionner

Antérieur Jour -> %avgvalpast[34~%ws_day2%~%ws_month2%~AAAA%
Antérieur mois -> %rain_mpast[%ws_month2%~AAAA]%
Aujourd'hui -> %rainday%
Mois -> %rainmonth%
Pour le soleil c'est un peu plus compliqué

Code : Tout sélectionner

Antérieur Jour -> %ws_setmem[55]=%ws_cutstr=0~7~%sundaypast[%ws_day2%~%ws_month2%~AAAA]%%%
                  %ws_timetoval[%ws_getmem[55]%]%
Antérieur mois -> %sun_d_mpast[%ws_month2%~AAAA]%
Aujourd'hui -> %sunday_d%
Jour -> %sunmonth_d%
Cordialement

Rieux

Répondre