Donnée du jour sur plusieurs années

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 !
Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 01 nov. 2013, 08:10

Voilà ce que j'obtiens en remplaçant mysqli par mysql :
Fatal error: Call to a member function query() on a non-object in /web/meteoplouguerne/www/insert_sql.php on line 33

Mais avant de poursuivre, ce que tu prévois, est-ce pour remplacer les tags de Chriss, même période mois, même période année ?
Nous sommes par exemple le 21 novembre :
Le 1er tag compare les données mini, maxi, moyennes et cumuls du 1er au 21 novembre de l'année courante avec celles de la même période de l'année précédente.
Le 2ième tag compare les données mini, maxi, moyennes et cumuls du 1er janvier au 21 novembre de l'année courante avec celles de la même période de l'année précédente.

Comme ici sur mon site, colonnes "sur la même période en 2012" des deux derniers tableaux.
Les tags de Chriss fonctionnent à nouveau depuis hier...
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: Donnée du jour sur plusieurs années

Message par webmaster » 01 nov. 2013, 17:39

Bonjour

Bon ce code fonctionne chez Free, Mysqli ne fonctionne pas chez eux.
Il y a également un autre problème chez Free que tu vas peut être également rencontrer, on ne peut pas créer une nouvelle base.
On ne peut en avoir qu'une par compte.

Donc dans ton cas utilise peut être une base existante en donnant des noms différent aux tables jours et mois pour ne pas écraser les autres.
Tudgur a écrit :Mais avant de poursuivre, ce que tu prévois, est-ce pour remplacer les tags de Chriss, même période mois, même période année ?
Une fois que nous avons les données journalières dans la base, le reste n'est que calculs.
Nous pouvons gagner un peu de temps en enregistrant en même temps les cumuls mensuels et annuel chaque jour.

Voir code haut de post
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 01 nov. 2013, 18:44

webmaster a écrit :On ne peut en avoir qu'une par compte.
C'est possible, j'ai déjà 2 bases de créées.
J'ai essayé d'en créer une manuellement, Access denied !
webmaster a écrit :Donc dans ton cas utilise peut être une base existante en donnant des noms différent aux tables jours et mois pour ne pas écraser les autres.
Oui, par exemple meme_periode_jours et meme_periode_mois
webmaster a écrit :Une fois que nous avons les données journalières dans la base, le reste n'est que calculs.
Nous pouvons gagner un peu de temps en enregistrant en même temps les cumuls mensuels et annuel chaque jour.
Effectivement

donc, à la place de

Code : Tout sélectionner

$base="base";
    $table_jours="jours";
    $table_mois="mois";
j'écris :

Code : Tout sélectionner

$base="meteoplouguerne_extremes";
    $table_jours="meme_periode_jours";
    $table_mois="meme_periode_mois";
Il manque une donnée : précipitations maxi en 1 jour !
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: Donnée du jour sur plusieurs années

Message par webmaster » 01 nov. 2013, 18:58

Tudgur a écrit : j'écris :
Code:

Code : Tout sélectionner

$base="meteoplouguerne_extremes";
    $table_jours="meme_periode_jours";
    $table_mois="meme_periode_mois";
Oui exactement.
Tudgur a écrit : Il manque une donnée : précipitations maxi en 1 jour !
Nous aurons les précipitations de tous les jours, il suffit ensuite de prendre la plus grande de l'année ou d'un mois.
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 01 nov. 2013, 20:38

C'est bon, les deux tables sont créées !!!
Par contre, j'ai laissé toutes les données, mais certaines ne m'intéressent guère.Si je les supprime dans insert_sql.php, les colonnes correspondantes seront-elle supprimées de la table ?
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: Donnée du jour sur plusieurs années

Message par webmaster » 01 nov. 2013, 21:18

Non, si tu veux supprimer des données dans le script, il faut également supprimer les colonnes correspondantes dans la table.
Mais je ne suis pas encore certain du format de la table actuelle.
Quelle mesure ne t'intéresse pas ? Je n'ai pourtant mis que essentielle.
Il y a des tags que je ne trouve pas.
J'aimerai bien enregistrer les moyennes et cumuls mensuels au jour le jour pour ne pas avoir à les calculer et alléger les requêtes.
Mais en travaillant sur les mesures de la veille il n'y a pas tant de tag que ça. Et en travaillant sur le jour présent il y a le risque de perdre une donnée intéressante en fin de journée.
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 02 nov. 2013, 07:12

Bonjour,

Les seules mesures qui m'intéressent sont :
Temp mini,maxi et moy
Précipitations Totales et Maxi/1jour
Vent Moyen et Rafales
Ensoleillement

En fait, celles qui "causent" pour un individu lambda.

Quels tags ne trouves-tu pas ?
Il est vrai qu'en travaillant sur le jour courant, il y a un petit risque de perdre une donnée intéressante...

Edit : des problèmes !

Le 31/10, il y a eu 2h10min de soleil mais à la ligne du 31 on peut lire 2.00
Le 1/11, il y a eu 10min de soleil mais à la ligne du 1 on peut lire 10.00

Est-il utile d'afficher les secondes qui seront toujours à 00 ?
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: Donnée du jour sur plusieurs années

Message par webmaster » 02 nov. 2013, 19:30

Bonsoir
Tudgur a écrit :En fait, celles qui "causent" pour un individu lambda.
N'oublie pas qu'enregistrer les données ne t'oblige pas de les afficher sur cette page.
A mes yeux ce fichier peut remplacer le script que nous avions mis en place pour les extrêmesjournaliers et mensuels.
Tudgur a écrit :Quels tags ne trouves-tu pas ?
Et bien tout bêtement les moyennes mensuelles d'hier !
Tudgur a écrit :Edit : des problèmes !
Tiens, je suis sûr qu'en cherchant bien tu m'as fait le même message il y a deux ans !
Je m'étais fait avoir de la même manière quand il y a moins d'une heure d'ensoleillement.
Encore un tag qui aurait été pratique, l'ensoleillement de la veille en centième.
Tudgur a écrit : Est-il utile d'afficher les secondes qui seront toujours à 00 ?
La variable time est formatée par Sql, mais de la même manière il est simple de tronquer les secondes à l'affichage.
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 02 nov. 2013, 20:19

webmaster a écrit :N'oublie pas qu'enregistrer les données ne t'oblige pas de les afficher sur cette page.
Il est vrai que cela ne prend guère de temps, en enregistrement comme en upload...
webmaster a écrit :A mes yeux ce fichier peut remplacer le script que nous avions mis en place pour les extrêmes journaliers et mensuels.
Ce serait effectivement intéressant !
webmaster a écrit :Et bien tout bêtement les moyennes mensuelles d'hier !
Que veux-tu dire ? nous somme le 14 novembre par exemple et tu voudrais la moyenne du 1 au 13 ?
webmaster a écrit :Tiens, je suis sûr qu'en cherchant bien tu m'as fait le même message il y a deux ans !
Je m'étais fait avoir de la même manière quand il y a moins d'une heure d'ensoleillement.
Encore un tag qui aurait été pratique, l'ensoleillement de la veille en centième.
Je vais rechercher mais je crois qu'il y a 25 pages...
Mais ce n'est pas seulement quand il y a moins d'une heure d'ensoleillement !!!
Le 31/10, 2h10min d'ensoleillement, affichage 2.00
Le 01/11, 0h10min d'ensoleillement, affichage 10.00
Le 02/11, 2h55min d'ensoleillement, affichage 2.00

Il faudrait un affichage en décimale j'imagine...
Avec un "gros" tag de WsWin ? J'avoue mon incompétence...
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: Donnée du jour sur plusieurs années

Message par webmaster » 04 nov. 2013, 20:47

Bonsoir,
Tudgur a écrit :ue veux-tu dire ? nous somme le 14 novembre par exemple et tu voudrais la moyenne du 1 au 13 ?
Oui c'est ça.
webmaster a écrit :Il faudrait un affichage en décimale j'imagine...
Avec un "gros" tag de WsWin ? J'avoue mon incompétence...
J'avais oublié de remettre ces deux lignes à insérer sous le require:

Code : Tout sélectionner

require ('meteo/mesures/moins_an.php');

$jour_ensoleillement = trim($jour_ensoleillement, " heures");
$jour_ensoleillement = heure_cent($jour_ensoleillement);
Ca règle le problème s'il y a plus d'une heure de soleil.
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: Donnée du jour sur plusieurs années

Message par webmaster » 04 nov. 2013, 21:14

Dans le fichier moins_an.php remplacer:

Code : Tout sélectionner

    $jour_ensoleillement='%sundaypast[-1~00~0000]%';
Par:

Code : Tout sélectionner

    %ws_setmem[55]=%ws_replacestr=minutes~~%sundaypast[-1~00~0000]%%%
    %ws_setmem[55]=%ws_replacestr=heures~~%ws_getmem[55]%%%
    %ws_setmem[55]=%ws_replacestr= ~~%ws_getmem[55]%%%
    %ws_setmem[55]=%ws_instr=-5~5~0: %ws_getmem[55]%%%
    %ws_setmem[55]=%ws_replacestr= ~~%ws_getmem[55]%%%
    $jour_ensoleillement='%ws_timetoval[%ws_getmem[55]%]%';
Et dans le fichier insert_sql.php retirer:

Code : Tout sélectionner

function heure_cent($heure) {
$split = explode(":",$heure);
$heure = $split[0];
$minute = $split[1];
$minute_cent = round((($minute/60)*100));
return "$heure"."."."$minute_cent";
}
Et ces lignes que je viens de te faire ajouter.

Code : Tout sélectionner

$jour_ensoleillement = trim($jour_ensoleillement, " heures");
$jour_ensoleillement = heure_cent($jour_ensoleillement);
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 05 nov. 2013, 08:46

Pour la moyenne, il y a le tag de Chriss :

Code : Tout sélectionner

%ws_setmem[50]=%ws_calc[-]=%ws_year%~1~0%%
%ws_setmem[1]=%avgvalpast[2~01~%ws_month2%~%ws_getmem[50]%]%% 
%ws_setmem[2]=%ws_calc[+]=%ws_getmem[1]%~%avgvalpast[2~02~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[3]=%ws_calc[+]=%ws_getmem[2]%~%avgvalpast[2~03~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%avgvalpast[2~04~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[5]=%ws_calc[+]=%ws_getmem[4]%~%avgvalpast[2~05~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[5]%~%avgvalpast[2~06~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[6]%~%avgvalpast[2~07~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[7]%~%avgvalpast[2~08~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[9]=%ws_calc[+]=%ws_getmem[8]%~%avgvalpast[2~09~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[9]%~%avgvalpast[2~10~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[11]=%ws_calc[+]=%ws_getmem[10]%~%avgvalpast[2~11~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[12]=%ws_calc[+]=%ws_getmem[11]%~%avgvalpast[2~12~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[13]=%ws_calc[+]=%ws_getmem[12]%~%avgvalpast[2~13~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[14]=%ws_calc[+]=%ws_getmem[13]%~%avgvalpast[2~14~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[15]=%ws_calc[+]=%ws_getmem[14]%~%avgvalpast[2~15~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[16]=%ws_calc[+]=%ws_getmem[15]%~%avgvalpast[2~16~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[17]=%ws_calc[+]=%ws_getmem[16]%~%avgvalpast[2~17~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[18]=%ws_calc[+]=%ws_getmem[17]%~%avgvalpast[2~18~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[19]=%ws_calc[+]=%ws_getmem[18]%~%avgvalpast[2~19~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[20]=%ws_calc[+]=%ws_getmem[19]%~%avgvalpast[2~20~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[21]=%ws_calc[+]=%ws_getmem[20]%~%avgvalpast[2~21~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[22]=%ws_calc[+]=%ws_getmem[21]%~%avgvalpast[2~22~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[23]=%ws_calc[+]=%ws_getmem[22]%~%avgvalpast[2~23~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[24]=%ws_calc[+]=%ws_getmem[23]%~%avgvalpast[2~24~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[25]=%ws_calc[+]=%ws_getmem[24]%~%avgvalpast[2~25~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[26]=%ws_calc[+]=%ws_getmem[25]%~%avgvalpast[2~26~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[27]=%ws_calc[+]=%ws_getmem[26]%~%avgvalpast[2~27~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[28]=%ws_calc[+]=%ws_getmem[27]%~%avgvalpast[2~28~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[29]=%ws_calc[+]=%ws_getmem[28]%~%avgvalpast[2~29~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[30]=%ws_calc[+]=%ws_getmem[29]%~%avgvalpast[2~30~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_setmem[31]=%ws_calc[+]=%ws_getmem[30]%~%avgvalpast[2~31~%ws_month2%~%ws_getmem[50]%]%~1%% 
%ws_calc[/]=%ws_getmem[%ws_day%]%~%ws_day%~1%
Mais le but était de remplacer les gros tags de Chriss...
Et à moins de faire une table avec une ligne par jour, je ne vois pas comment faire...

Pour l'ensoleillement supérieur à 1h, c'est bon.
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: Donnée du jour sur plusieurs années

Message par webmaster » 05 nov. 2013, 21:27

Bonsoir,
Tudgur a écrit :Et à moins de faire une table avec une ligne par jour, je ne vois pas comment faire...
Heuuu c'est un peu se que nous sommes en train de faire !
Je vais faire un script qui calcule automatiquement les moyennes mensuelles chaque jour.
Tudgur a écrit : Pour l'ensoleillement supérieur à 1h, c'est bon.
Moins d'une heure aussi, c'est le code utilisé pour les extrèmes :wink:
Cordialement

Rieux

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

Re: Donnée du jour sur plusieurs années

Message par Tudgur » 05 nov. 2013, 22:43

Bonsoir,
webmaster a écrit :Je vais faire un script qui calcule automatiquement les moyennes mensuelles chaque jour.
Donc, ton futur script pourra faire ceci :
le 5 novembre 2014, il pourra calculer la moyenne du 1er au 5 novembre 2013 et la moyenne du 1er janvier au 5 novembre 2013 ?
webmaster a écrit :Moins d'une heure aussi, c'est le code utilisé pour les extrèmes :wink:
Je ne l'ai pas noté puisque je n'ai pas pu le vérifier.
Mais je n'avais pas vu qu'il s'agissait du même script que celui utilisé pour les extrêmes ! :oops:
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: Donnée du jour sur plusieurs années

Message par webmaster » 06 nov. 2013, 13:38

Tudgur a écrit :Donc, ton futur script pourra faire ceci :
le 5 novembre 2014, il pourra calculer la moyenne du 1er au 5 novembre 2013 et la moyenne du 1er janvier au 5 novembre 2013 ?
Oui puisque les mesures de la veilles sont enregistrées quotidiennement.
Ensuite tu n'as plus qu'à prendre les lignes et colonnes qui t'intéresse, les additionner pour les cumuls,et les diviser par le nombre de lignes prises pour les moyennes et ce sur la période de ton choix.
Par exemple en 2018 si tu veux connaitre la moyenne du 01 au 15 Février 2015 et la comparer à la même période sur 2014, ça ne pose pas de problème.
Car dans l'idée de départ tu ne voulais que les mesures de l'année précédente, mais je trouve dommage d'écraser ces valeurs une fois l'année passée.
La question que je me pose est la suivante:
Est que nous précalculons les cumuls et moyennes mensuelles et annuelles en incrémentant deux tables (une déjà existante et une autre à ajouter) ? Ou gardons nous uniquement les mesures journalières desquelles nous puisons les valeurs requises pour les différents calculs durant l'affichage de la page ?
Cordialement

Rieux

Répondre