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, 07:16

Tudgur a écrit : Avec 2 cutstr + ", le" ce sera possible...
Oui bien sur il n'y a pas de test sur la date.
Mais dans un an le problème sera différent car les extrêmes mensuels ou journaliers enregistreront en temps réel, donc un %ws_days2%/%ws_month2% suffiront !

Aujourd'hui quand tu fais une recherche sur la température minimum un 5 octobre 2006, après la variable de la date tu peux très bien mettre uniquement 2006.
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, 07:28

webmaster a écrit : Mais dans un an le problème sera différent car les extrêmes mensuels ou journaliers enregistreront en temps réel, donc un %ws_days2%/%ws_month2% suffiront !
Oui mais, pour les extrêmes journaliers, le jour sera inutile et pour les extrêmes mensuels, le mois sera inutile.
Mais ça c'est pour plus tard, c'était juste une remarque en passant.
Je te laisse poursuivre ton super "pas à pas" !
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, 08:12

Oui, nous aurons l'occasion d'en reparler tu as raison, reprenons.
Il ne nous reste plus que l'affichage qui reprend une grande partie du code déjà cité car il faut uniquement prendre les données du jour dans la base.
Copiez et modifiez ce code avant de l’enregistrer dans une page extremess.php par exemple et de l'envoyer sur votre site.

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('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'];
    }
mysql_close();
?>

<?php echo 'Temp. Min.',$temp_min,'°C   Date ',$date_temp_min,'   Heure ',$heure_temp_min; ?>

</body>

</html>
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, 08:45

OK, voilà donc mon fichier extremes2.php
Tu as proposé de le nommer extremess.php : c'est volontaire ou c'est une erreur?
J'imagine qu'il ne faut pas écraser extremes.php !!!
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, 08:56

Oui c'était volontaire, mais extremes2.php va également car le but est de ne pas écraser extremes.php comme tu l'as compris.
Comme tu lavais d’ailleurs fait remarqué au début, tu peux supprimer totalement la partie head du fichier extremes.php qui ne sert à rien.

Et bien il ne vous reste plus qu'à personnaliser l'ensemble, choisir vos tags et vos sondes et mettre ce code d'affichage sur les page de votre choix.

Mais il faut bien se souvenir de ces points de détails:
- Il faudra modifier le code WsWin au bout d'un an de fonctionnement de manière à fortement l'édulcorer.
- Si vous utilisez également les extrêmes mensuels il n'y aura plus besoins de les demander car ils seront imputés par les extrêmes du jour forcément et c'est déjà vrai aujourd'hui pour le mois en cours.
- L'ensemble des tests du fichier extremes.php concernant les années précédentes seront à supprimer également pour ne garder que la comparaison de la base et de la mesure WsWin.
- Penser à faire ces modification sera peut être le plus compliqué et je compte sur nous pour nous y faire penser ! ! !
Cordialement

Rieux

Avatar du membre
kalimero
Participation 2
Participation 2
Messages : 183
Enregistré le : 25 nov. 2008, 13:54

Re: les records un mois donné

Message par kalimero » 05 oct. 2011, 09:22

Bonjour Rieux
je suis encore à la traine je rame
mon fichier wswin_extremes.php se met à jour maintenant mais il ne se passe rien sur phpadmin (pas de valeurs)

Avatar du membre
kalimero
Participation 2
Participation 2
Messages : 183
Enregistré le : 25 nov. 2008, 13:54

Re: les records un mois donné

Message par kalimero » 05 oct. 2011, 09:25

kalimero a écrit :Bonjour Rieux
je suis encore à la traine je rame
mon fichier wswin_extremes.php se met à jour maintenant mais il ne se passe rien sur phpadmin (pas de valeurs)
çi joint extrait page extremes.php generer par wswin

$wswin_2008_temp_min='11,8';
$wswin_2008_date_temp_min='05/10/2008';
$wswin_2008_heure_temp_min='01:47';

$wswin_2008_temp_max='16,6';
$wswin_2008_date_temp_max='05/10/2008';
$wswin_2008_heure_temp_max='14:38';

$wswin_2009_temp_min='14,1';
$wswin_2009_date_temp_min='05/10/2009';
$wswin_2009_heure_temp_min='07:42';

$wswin_2009_temp_max='19,9';
$wswin_2009_date_temp_max='05/10/2009';
$wswin_2009_heure_temp_max='13:24';


$wswin_2010_temp_min='11,8';
$wswin_2010_date_temp_min='05/10/2010';
$wswin_2010_heure_temp_min='00:36';

$wswin_2010_temp_max='18,7';
$wswin_2010_date_temp_max='05/10/2010';
$wswin_2010_heure_temp_max='16:30';




$wswin_2008_rafale_min='0,0';
$wswin_2008_date_rafale_min='05/10/2008';
$wswin_2008_heure_rafale_min='01:47';


$wswin_2008_rafale_max='37,4';
$wswin_2008_date_rafale_max='05/10/2008';
$wswin_2008_heure_rafale_max='09:12';



$wswin_2009_rafale_min='0,0';
$wswin_2009_date_rafale_min='05/10/2009';
$wswin_2009_heure_rafale_min='00:00';

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, 09:27

webmaster a écrit :Et bien il ne vous reste plus qu'à personnaliser l'ensemble...
Euhhhhh, oui !
Pour les record mensuels, on fait comment ?
Et pour rajouter toutes les lignes, de 1 à 366, dans la base de données, comment fait on ?
Il y a un bouton insérer, avec lequel je peux insérer 2, 5, 10 lignes...
Faut-il recommencer à 0 ou on peut pour l'instant compléter l'année ?
Ou comment insérer entre ces deux lignes ?
Image

Edit : Pour chaque id, je rajoute les sondes voulues ...
Image
avec le nombre de colonnes qui convient en choisissant après heure_temp_min.
J'ai vu aussi que l'on peut ordonner la table par id....
Modifié en dernier par Tudgur le 05 oct. 2011, 09:44, modifié 1 fois.
Cordialement.

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

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, 09:29

kalimero a écrit : mon fichier wswin_extremes.php se met à jour maintenant mais il ne se passe rien sur phpadmin (pas de valeurs)
Il faut que tu ouvres extremes.php même s'il te parait vide...
Et ensuite tu exécutes PhpMyAdmin...
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, 09:40

Le gros problème avec Kaliméro c'est surtout qu'il grille les étapes !
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 » 05 oct. 2011, 09:52

Tudgur a écrit : Euhhhhh, oui !
Et encore, tu n'imagines pas les problèmes que tu vas rencontrer.
Tudgur a écrit : Pour les record mensuels, on fait comment ?
Oups tu as raison, je vous en parle ensuite.
Tudgur a écrit : Et pour rajouter toutes les lignes, de 1 à 366, dans la base de données, comment fait on ?
Il y a un bouton insérer, avec lequel je peux insérer 2, 5, 10 lignes...
Et bien de la même manière que tu as créée les premières, peu importe que tu les insères par une, deux ou dix.
Pour que cela soit moins contraignant continue dans un premier temps en te dirigeant vers 366, ça te laissera plus de temps pour faire de 1 à aujourd'hui.
Tu pourras les reclasser dans l'ordre par la suite, comme tu pourras ajouter ou retirer des colonnes comme bon te semble.
Tudgur a écrit : Faut-il recommencer à 0 ou on peut pour l'instant compléter l'année ?
Non, tu peux compléter la base actuelle.
Mais prends bien le temps de choisir maintenant les variables que tu voudras utiliser.
Tudgur a écrit : Ou comment insérer entre ces deux lignes ?
Image
On ne peut pas, mais comme dit précédemment on peut ensuite classer la base.
Je ne peux te guider plus car comme je te l'ai déjà dit ton phpmyadmin est fortement personnalisé.
Cherche un onglet opération dans lequel tu peux faire un classement croissant sur la colonne id.
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, 10:39

Bon, j'avais commencé à rajouté quelques variables.
Merci pour les précisions.

Par contre, pour temp_min, on (ou plutôt tu) a choisi 50 comme valeur pour être sûr...
Pour temp_max, il pourrait exister un max journalier négatif en hiver (très très peu probable à Plouguerneau !!!), quel valeur parait sûre, -10 ?
Pour les précipitations et le soleil, il n'y a pas de valeur min et valeur max, alors comment fait-on ?
Et si on voulait le mois le plus sec et/ou le mois le plus arrosé, le mois le plus ensoleillé et/ou le plus gris ?
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, 11:00

Il ne faut pas avoir peur d'exagérer le maxima avec un -50, çà ne pose aucun problème et avec le dérèglement climatique actuel tu es paré !
Pour le soleil ou la pluviométrie le maxima sera toujours supérieur à zéro, donc là pas de problème.
Je vous prépare l'aide pour le mois avant de manger. Par contre pour le mois le plus sec ou le moins ensoleillé je ne vois pas car la valeur sera toujours écrasée les premières heures du premier jour.
Vous comprendrez mieux avec le message suivant.
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 » 05 oct. 2011, 11:39

Alors c'est vrai que j'avais un peu zappé:

Code : Tout sélectionner

$mois=(1000 + date("n"));
Cet variable a le même usage que la variable $jour. Elle indique une ligne de la table afin d'y inscrire vos mesures.
J'additionne donc 1000 au numéro du mois courant afin d'écrire au delà des 366 ligne déjà utilisées.

Ces modifications seront à apportées aux fichiers extremes.php pour la lecture et l'écriture, mais également le fichier extremes2.php mais uniquement pour la lecture.
Donc à la suite de l'imputation de vos variables extrêmes jour relevées dans la table et dont suivant l'exemple utilisé doit être:

Code : Tout sélectionner

    $temp_min=$data['temp_min'];
    $date_temp_min=$data['date_temp_min'];
    $heure_temp_min=$data['heure_temp_min'];
Vous allez ajouter ces lignes avant l'include du fichier wswin comme dans l'extrait ci-dessous:

Code : Tout sélectionner

$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("meteo/mesures/extremes.php");
Nous allons maintenant descendre après la ligne d'enregistrement dans la table de l'extrême jour, mais avant la fermeture de la base entre les eux lignes ci-dessous:

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' ");

mysql_close();
Et y placer nos lignes de comparaison pour les extrêmes du mois ainsi que l'enregistrement du résultat.

Code : Tout sélectionner

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' ");
Il faut également bien entendu modifier le fichier généré par WsWin pour lui demander l'historique de vos extrêmes mensuels avec les lignes suivantes:

Code : Tout sélectionner

    $wswin_2006_mois_temp_min='%minval_mpast[6~%ws_month2%~2006]%';
    $wswin_2006_mois_date_temp_min='%mindate_mpast[6~%ws_month2%~2006]%';
    $wswin_2006_mois_heure_temp_min='%mintime_mpast[6~%ws_month2%~2006]%';
..... mettre la même chose pour vos différentes années.
    $wswin_2010_mois_temp_min='%minval_mpast[6~%ws_month2%~2010]%';
    $wswin_2010_mois_date_temp_min='%mindate_mpast[6~%ws_month2%~2010]%';
    $wswin_2010_mois_heure_temp_min='%mintime_mpast[6~%ws_month2%~2010]%';
    $wswin_temp_min='%minvalpast[6~%ws_day2%~%ws_month2%~%ws_year%]%';
    $wswin_date_temp_min='%ws_date%';
    $wswin_heure_temp_min='%mintimepast[6~%ws_day2%~%ws_month2%~%ws_year%]%';
Alors il n'y a pas d'ordre pour mettre ces lignes, mais organisez vous dès le départ avant de vous y perdre.
Personnellement j'ai opté pour:
-sonde1-2006
-sonde2-2006
-sonde3-2006

-mois-sonde1-2006
-mois-sonde2-2006
-mois-sonde3-2006

-mois-sonde1-2007
-mois-sonde2-2007
-...
Je les avais imbriqué au départ,mais on a vite les yeux qui se croisent et cela occasionne des erreurs comme celle que j'ai commise hier soir.
Après ce n'est qu'un avis personnel...

PS: Kaliméro revient à notre niveau si tu veux suivre car tu génères des erreurs seuls à ne pas faire les choses dans l'ordre.
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, 13:26

Il n'y a pas un petit soucis là ?
webmaster a écrit : Nous allons maintenant descendre après la ligne d'enregistrement dans la table de l'extrême jour, mais avant la fermeture de la base entre les eux lignes ci-dessous:

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' ");

mysql_close();
Entre les deux lignes, donc après mysql_query et avant avant mysql_close ?
webmaster a écrit :Et y placer nos lignes de comparaison pour les extrêmes du mois ainsi que l'enregistrement du résultat.

Code : Tout sélectionner

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' ");
Et là c'est avant mysql_query...
Dans ma première partie de fichier, les conditions sont avant mysql_query.
Alors avant ou après ?
webmaster a écrit : Personnellement j'ai opté pour:
-sonde1-2006
-sonde2-2006
-sonde3-2006

-mois-sonde1-2006
-mois-sonde2-2006
-mois-sonde3-2006

-mois-sonde1-2007
-mois-sonde2-2007
-...
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... ?
Cordialement.

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

Répondre