Donnée du jour sur plusieurs années
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
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...
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...
- webmaster
- 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
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.
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
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.
Une fois que nous avons les données journalières dans la base, le reste n'est que calculs.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 ?
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
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
C'est possible, j'ai déjà 2 bases de créées.webmaster a écrit :On ne peut en avoir qu'une par compte.
J'ai essayé d'en créer une manuellement, Access denied !
Oui, par exemple meme_periode_jours et meme_periode_moiswebmaster 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.
Effectivementwebmaster 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.
donc, à la place de
Code : Tout sélectionner
$base="base";
$table_jours="jours";
$table_mois="mois";
Code : Tout sélectionner
$base="meteoplouguerne_extremes";
$table_jours="meme_periode_jours";
$table_mois="meme_periode_mois";
- webmaster
- 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
Oui exactement.Tudgur a écrit : j'écris :
Code:Code : Tout sélectionner
$base="meteoplouguerne_extremes"; $table_jours="meme_periode_jours"; $table_mois="meme_periode_mois";
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.Tudgur a écrit : Il manque une donnée : précipitations maxi en 1 jour !
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
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 ?
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 ?
- webmaster
- 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
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.
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
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
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 ?
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 ?
- webmaster
- 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
Bonsoir
A mes yeux ce fichier peut remplacer le script que nous avions mis en place pour les extrêmesjournaliers et mensuels.
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.
N'oublie pas qu'enregistrer les données ne t'oblige pas de les afficher sur cette page.Tudgur a écrit :En fait, celles qui "causent" pour un individu lambda.
A mes yeux ce fichier peut remplacer le script que nous avions mis en place pour les extrêmesjournaliers et mensuels.
Et bien tout bêtement les moyennes mensuelles d'hier !Tudgur a écrit :Quels tags ne trouves-tu pas ?
Tiens, je suis sûr qu'en cherchant bien tu m'as fait le même message il y a deux ans !Tudgur a écrit :Edit : des problèmes !
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.
La variable time est formatée par Sql, mais de la même manière il est simple de tronquer les secondes à l'affichage.Tudgur a écrit : Est-il utile d'afficher les secondes qui seront toujours à 00 ?
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
Il est vrai que cela ne prend guère de temps, en enregistrement comme en upload...webmaster a écrit :N'oublie pas qu'enregistrer les données ne t'oblige pas de les afficher sur cette page.
Ce serait effectivement intéressant !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.
Que veux-tu dire ? nous somme le 14 novembre par exemple et tu voudrais la moyenne du 1 au 13 ?webmaster a écrit :Et bien tout bêtement les moyennes mensuelles d'hier !
Je vais rechercher mais je crois qu'il y a 25 pages...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.
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...
- webmaster
- 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
Bonsoir,
Ca règle le problème s'il y a plus d'une heure de soleil.
Oui c'est ça.Tudgur a écrit :ue veux-tu dire ? nous somme le 14 novembre par exemple et tu voudrais la moyenne du 1 au 13 ?
J'avais oublié de remettre ces deux lignes à insérer sous le require:webmaster a écrit :Il faudrait un affichage en décimale j'imagine...
Avec un "gros" tag de WsWin ? J'avoue mon incompétence...
Code : Tout sélectionner
require ('meteo/mesures/moins_an.php');
$jour_ensoleillement = trim($jour_ensoleillement, " heures");
$jour_ensoleillement = heure_cent($jour_ensoleillement);
Cordialement
Rieux
Rieux
- webmaster
- 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
Dans le fichier moins_an.php remplacer:
Par:
Et dans le fichier insert_sql.php retirer:
Et ces lignes que je viens de te faire ajouter.
Code : Tout sélectionner
$jour_ensoleillement='%sundaypast[-1~00~0000]%';
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]%]%';
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";
}
Code : Tout sélectionner
$jour_ensoleillement = trim($jour_ensoleillement, " heures");
$jour_ensoleillement = heure_cent($jour_ensoleillement);
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
Pour la moyenne, il y a le tag de Chriss :
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.
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%
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.
- webmaster
- 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
Bonsoir,
Je vais faire un script qui calcule automatiquement les moyennes mensuelles chaque jour.
Heuuu c'est un peu se que nous sommes en train de faire !Tudgur a écrit :Et à moins de faire une table avec une ligne par jour, je ne vois pas comment faire...
Je vais faire un script qui calcule automatiquement les moyennes mensuelles chaque jour.
Moins d'une heure aussi, c'est le code utilisé pour les extrèmesTudgur a écrit : Pour l'ensoleillement supérieur à 1h, c'est bon.
Cordialement
Rieux
Rieux
-
- Participation 6
- Messages : 1770
- Enregistré le : 13 mai 2007, 16:47
- Localisation : 29880 Plouguerneau
- Contact :
Re: Donnée du jour sur plusieurs années
Bonsoir,
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 ?
Mais je n'avais pas vu qu'il s'agissait du même script que celui utilisé pour les extrêmes !
Donc, ton futur script pourra faire ceci :webmaster a écrit :Je vais faire un script qui calcule automatiquement les moyennes mensuelles chaque jour.
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 ?
Je ne l'ai pas noté puisque je n'ai pas pu le vérifier.webmaster a écrit :Moins d'une heure aussi, c'est le code utilisé pour les extrèmes
Mais je n'avais pas vu qu'il s'agissait du même script que celui utilisé pour les extrêmes !
- webmaster
- 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
Oui puisque les mesures de la veilles sont enregistrées quotidiennement.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 ?
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
Rieux