Afficher la duree total a la fin de chaque date

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 29 août 2007 à 10:46
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 29 août 2007 à 16:56
Bonjour,
j ai un pti souci avec l afichage des resultats d une requette :
voilà ce que je ve faire :

je veux lorsque j affiche les date à la fin de chaque date j affiche la duree total, comme suit :
Date                   Duree(min)
25/08/07            50
                          40
                          20
Duree total         110

26/08/07            20
                          20
Duree total         40

voilà le code php :  mon probleme est d a fiicher a la fin de chaque date la duree total,
(j ai deja afficher la duree global de tous les jours mais je l ai pas copié aussi)
                   

// requette "req" pour la selection des données que je ve afficher
$resultat =''
// while($array = mysql_fetch_array($req))
{
$resutlat .=\"----
".$array['date_c'].", ".$array["duree"].", \";

 }
$resultat="
";

echo $resultat;

Merci pour vos aides

N'importe où. 
mais là où il le faut.

4 réponses

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
29 août 2007 à 12:32
bon, ce que je dois faire est :
une variable temporaire contenant la date en
cours, et une variable dans laquelle tu cumules tes durées. Chaque fois
que la date en cours est différente de la date dans la variable
temporaire, c'est que je vais passer à une nouvelle date. Il te faut
donc à ce moment là afficher le cumul et le remettre à zéro (avant
d'afficher la nouvelle date) puis stocker la nouvelle date dans ta
variable tmp
mais je n arrive pas a le faire dans le code precedent !

N'importe où. 
mais là où il le faut.
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
29 août 2007 à 13:27
Hello,

1) requête, pas requette

2) je sens que tu postes dans plusieurs forums différents... celui qui t'a répondu ne t'en dit pas plus ? ou tu es juste trop impatient d'avoir la réponse ? :) Parce que si c'est le cas, je trouve dommage (et incorrect) de faire perdre du temps à plusieurs personnes...

// while($array = mysql_fetch_array($req))
{
    if(isset($temp) and $temp  == $array[0]){
       même variable qu'au passage de boucle précédent
    }
    else {
       nouvelle valeur
    }


    $temp = $array[0];
 }
0
cs_mike17 Messages postés 19 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 3 mars 2009
29 août 2007 à 13:30
Salut,
Ton raisonnement est le bon. tu dois bien passer par une variable temporaire qui contient la date que tu traites.

// requette "req" pour la selection des données que je ve afficher
$resultat =''
$datetemp=''; // date temporaire
$cumuldate=0; // pour conserver le cumul par date
// while($array = mysql_fetch_array($req)) {
    $cumuldate=$cumuldate+$array[\"duree\"]; // ajoute la durée
    if ($datetemp!=$array['date_c']) {
        $resutlat .=\"----
Durée total pour cette date, ".$cumuldate.", \"; //Affiche le total pour la date
        $datetemp=$array['date_c']; //récupère la nouvelle date à traiter
        $cumuldate=0;
    }else {
        $resutlat .=\"----
".$array['date_c'].", ".$array["duree"].", \"; //Affiche la durée
    }
 }
$resultat="
";
echo $resultat;

Voila je sais que c'est pas parfait, car lors de la première boucle, ca va t'afficher un total incohérent, mais c'est une base

bon courage
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
29 août 2007 à 16:56
merci pour ta reponse
donc je peux faire :

$1ere=0;
// requette "req" pour la selection des données que je ve afficher
$resultat =''
$datetemp=''; // date temporaire
$cumuldate=0; // pour conserver le cumul par date
// while($array = mysql_fetch_array($req)) {
    $cumuldate=$cumuldate+$array[\"duree\"]; // ajoute la durée
    if ($datetemp!=$array['date_c'] && $1ere==1 ) {
   
    $resutlat .=\"----
Durée total pour cette
date, ".$cumuldate.", \";
//Affiche le total pour la date
        $datetemp=$array['date_c']; //récupère la nouvelle date à traiter
        $cumuldate=0;
    }else {
   
    $resutlat
.=\"----
".$array['date_c'].", ".$array["duree"].", \";
//Affiche la durée
    }
$1ere=1;
 }
$resultat="
";
echo $resultat;

ça se passe ?
N'importe où. 
mais là où il le faut.
0
Rejoignez-nous