Page 4 sur 25

Re: les records un mois donné

Posté : 04 oct. 2011, 10:04
par webmaster
Oui mais pas au même endroit !
L'une se trouve à la racine de ton site et n'est que provisoire le temps que vous fassiez un usages plus personnel du code, et cette dernière qui va se retrouver dans le répertoire html dans lequel travaille WsWin.

Re: les records un mois donné

Posté : 04 oct. 2011, 10:25
par webmaster
Autant pour moi je n'avais pas vu que vous faisiez l'envoi des fichiers wswin à la racine de votre site !
Dans ce cas modifier l’entête du template en <!-- %customfile=wswin_extremes.php% -->

Re: les records un mois donné

Posté : 04 oct. 2011, 11:26
par Tudgur
C'est fait et envoyé sur le serveur mais le fichier wswin_extremes.php est vierge...
En lecture txt du fichier, en local, j'ai les valeurs des tags de wswin.

Re: les records un mois donné

Posté : 04 oct. 2011, 11:51
par kalimero
ok pour moi aussi

Re: les records un mois donné

Posté : 04 oct. 2011, 11:54
par webmaster
C'est normal, nous ne demandons pour le moment aucun affichage, donc la page est blanche.
Nous allons maintenant inclure les variables générée par WsWin dans notre page extremes.php afin de pourvoir commencer les comparaison pour ne garder dans le cas présent que la plus faible.
Pour ce, comme ci dessous nous allons après avoir fermé la base a et avant de fermer la balise de interpréteur PHP, ajouter cette ligne (à modifier éventuellement !).

Code : Tout sélectionner



include("wswin_extremes.php");

mysql_close();

?>

Re: les records un mois donné

Posté : 04 oct. 2011, 12:04
par webmaster
Vu que l'exercice précédent ne devrait poser de problème pour personne je continue avec le test qui permet de ne garder que la valeur la plus faible avec la date et l'heure correspondante.
Vous allez insérer ces ligne en les adaptant et complétant suivant vos besoins après l'include et avant ?> car comme l'insertion, précédente ce code doit être interprété.

Code : Tout sélectionner

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;}
Nous comparons donc la valeur enregistré dans la base aux différentes valeurs fournies par WsWin pour ne garder que la plus faible. Vous comprenez maintenant pourquoi il ne fallait pas laisser 0 en valeur par défaut au moment de la création de la ligne dans la base, car aucunes valeurs n'auraient été prises avant la première gelée.
:bigrin: Alors je sais c'est vraiment frustrant car je vous vois déjà me dire que la page reste blanche, patience !

Re: les records un mois donné

Posté : 04 oct. 2011, 14:55
par Tudgur
Rien de frustrant pour la page blanche !
Je l'ai signalé tout à l'heure, (dans mon message, le "mais" était de trop) mais tant qu'il n'y a pas d'écho on ne risque pas d'y lire quoi que ce soit !!!

Jusque là, c'est donc OK.

Re: les records un mois donné

Posté : 04 oct. 2011, 15:15
par webmaster
Bon et bien maintenant de plus en plus, car fort si le test c'est bien passé les variables doivent t'avoir maintenant l'heure, la date et la valeur la plus basse et il ne nous reste plus qu'à les enregistrer.
Le principe est pratiquement le même que pour la lecture.
Insérez cette dernière ligne en dessous la dernière ligne de test

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' ");
Renvoyez l'ensemble chez votre hébergeur et lancer cette page.
Il ne se passera toujours rien à l'écran car comme le signale Tudgur on ne le demande toujours pas.
Par contre en consultant maintenant par l'intermédiaire de phpmyadmin, vous devriez avoir sur la ligne de ce jour des valeurs d'enregistrées.

Re: les records un mois donné

Posté : 04 oct. 2011, 15:48
par Tudgur
Problème !
C'est bien dans extremes.php qu'il faut copier la ligne en mettant le nom de la table (ou de la base ?)
J'obtiens ceci :
Image

Edit : la base a été fermée avant l'include, normal ? Je n'y connais rien la dedans !
En effaçant la fermeture de la base, j'obtiens un 0 (au lieu de 50) en 2ième ligne (278)...

Re: les records un mois donné

Posté : 04 oct. 2011, 16:15
par webmaster
webmaster a écrit : Insérez cette dernière ligne en dessous la dernière ligne de test

Code : Tout sélectionner

mysql_query ("UPDATE NOMDELATABLE SET temp_min='$mois_temp_min',date_temp_min='$mois_date_temp_min',heure_temp_min='$mois_heure_temp_min' WHERE id='$jour' ");
Donc théoriquement avant la fermeture de l'interpréteur et de la base.

Peux-tu nous mettre le contenu du fichier que génère WsWin?

Re: les records un mois donné

Posté : 04 oct. 2011, 16:34
par Tudgur
webmaster a écrit :Donc théoriquement avant la fermeture de l'interpréteur et de la base.
comme ceci ? Bizarre...

Code : Tout sélectionner

........................................
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_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();
   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;}
...........................................
webmaster a écrit :Peux-tu nous mettre le contenu du fichier que génère WsWin?

Code : Tout sélectionner

$wswin_2006_temp_min='9.2';
    $wswin_2006_date_temp_min='04/10/2006';
    $wswin_2006_heure_temp_min='06:45';
    $wswin_2007_temp_min='7.9';
    $wswin_2007_date_temp_min='04/10/2007';
    $wswin_2007_heure_temp_min='06:35';
    $wswin_2008_temp_min='7.1';
    $wswin_2008_date_temp_min='04/10/2008';
    $wswin_2008_heure_temp_min='02:26';	
    $wswin_2009_temp_min='14.1';
    $wswin_2009_date_temp_min='04/10/2009';
    $wswin_2009_heure_temp_min='05:55';   
    $wswin_2010_temp_min='12.5';
    $wswin_2010_date_temp_min='04/10/2010';
    $wswin_2010_heure_temp_min='00:06';
    $wswin_temp_min='15.8';
    $wswin_date_temp_min='04/10/2011';
    $wswin_heure_temp_min='02:47';

Re: les records un mois donné

Posté : 04 oct. 2011, 16:45
par webmaster
Non après les test qui sont les boucles de if, j'aurai du le préciser.
Vous devez avoir un code dans ce genre:

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

?>
Le code généré par WsWin est bon.

Re: les records un mois donné

Posté : 04 oct. 2011, 16:52
par Tudgur
Je me disais bien qu'il y avait un problème...
Mais j'obtiens la même chose :

Image

Re: les records un mois donné

Posté : 04 oct. 2011, 16:57
par webmaster
Oui mais maintenant c'est normal car zéro est probablement une valeur trop basse.
Modifie là manuellement dans phpmyadmin afin de remettre le 50 préconisé plus tôt et relance extremes.php

Re: les records un mois donné

Posté : 04 oct. 2011, 17:30
par Tudgur
Je fais une modif manuelle en mettant 50 au lieu de 0;
J'ouvre extremes.php (qui est vierge);
J'affiche la base de données et je retrouve 0 au lieu de 50.....