IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Somme des colonnes d'un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut Somme des colonnes d'un tableau
    Bonjour,

    Cela faitun bout de temps que j'ai un problème pour calculer la somme des colonne d'un tableau.
    Il s'agit d'un tableau de répartition en fontion des années.

    Ci-dessous mon script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <?php
    if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
    {
        echo '<title> '.$titre.' </title>';
    }
    else //Sinon, on écrit forum par défaut
    {
        echo '<title> dus region </title>';
    }
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design" href="#" />
    </head>
     
    <body>
    <h2><center><b><u> Ventilation des montants par année d'origine</u></b></center></h2><br><br>
     
    <a href="../index.php"> Retour à l'index</a><br>
     
    <?php
     
    include('../includes/inc_conexion.php');
     
    $result = mysql_query("SELECT nom_region FROM region ORDER BY id ASC")or die(mysql_error());
     
    echo '<form action="synthese_region.php" method="post">';
    echo '<select name="frm_select_region">';
     
    while ($row = mysql_fetch_array($result))
    	{
    	//si c'est le nom de la région qui est commun aux deux tables c'est le champ nom_region que tu dois mettre en value de ton select//
    	echo '<option value="'.$row['nom_region'].'">'.$row['nom_region'].'</option>';
    	}
     
    echo '</select>';
    echo '<input type="submit" value="Go" />';
    echo '</form>';	
     
     
    $var = "";
     
    $ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=1 WIDTH=100% ALIGN=left font-family='Verdana' size=2px>
    			<td bgcolor='#669999'><b><u>Numero</u></b></td>
    			<td bgcolor='#669999'><b><u>Societe</u></b></td>
    			<td bgcolor='#669999'><b><u>Adhérent</u></b></td>		
    			<td bgcolor='#669999'><b><u>Montant</u></b></td>
    			<td bgcolor='#669999'><b><u>Anterieur à 2008</u></b></td>
    			<td bgcolor='#669999'><b><u>2008</u></b></td>
    			<td bgcolor='#669999'><b><u>2009</u></b></td>
    			<td bgcolor='#669999'><b><u>2010</u></b></td>
    			<td bgcolor='#669999'><b><u>-1 mois</u></b></td>
    			<td bgcolor='#669999'><b><u>Vérif</u></b></td>";
     
    $total = 0;	
     
    if(isset($_POST["frm_select_region"]) AND $_POST["frm_select_region"] != NULL)
    	{
    	$var = $_POST["frm_select_region"];
    	$rqt2 = mysql_query("SELECT * FROM societe WHERE nom_region = '$var' ORDER BY societe")or die(mysql_error());
    	}
    else
    	{
    	$rqt2 = mysql_query("SELECT * FROM societe ORDER BY societe")or die(mysql_error());
    	}
     
    	echo("Région selectionnée : $var </br></br>");
     
    if(mysql_num_rows($rqt2) > 0)
    	{
    	while($tableau2 = mysql_fetch_array($rqt2))
    		{
    		$id = $tableau2['id_numero'];
     
    		$societe = $tableau2['societe'];
    		$adherent = $tableau2['adherent'];
    		$ville = $tableau2['ville'];
    		$region = $tableau2['nom_region'];
    		$enseigne = $tableau2['enseigne'];
    		$telephone = $tableau2['telephone'];
    		$fax = $tableau2['fax'];
    		$siret = $tableau2['siret'];
     
    		$rqt = mysql_query("SELECT * FROM facture WHERE id_numero = '$id' ORDER BY `id_numero`")or die(mysql_error());
     
    		$ant08 = 0; //ici l'initialisation des variables par année//
    		$a08 = 0;
    		$a09 = 0;
    		$a10 = 0;
    		$a_1 = 0;
    		$annee= "";
     
    		//ici initialisation des variables total pour chaque année//
    		$Tant08 = 0;
    		$Ta08 = 0;
    		$Ta09 = 0;
    		$Ta10 = 0;
    		$Ta_1 = 0; //c'est pour les facture datant d'un - d'un mois ($Ta_1)//
    		$Tmont_2 = 0; // sert a la totalisation des lignes
    		$Tmont_3 = 0; // sert à la totalisation de la colonne des totaux
     
     
    		$mont = 0;
     
    		while($tableau = mysql_fetch_array($rqt))
    			{
    			//calcul par année//
    			if($tableau['annee'] < 2008)
    				{
    				$ant08 += addslashes($tableau['montant']);
    				}
    			if($tableau['annee'] == 2008)
    				{
    				$a08 += addslashes($tableau['montant']);
    				}
    			if($tableau['annee'] == 2009)
    				{
    				$a09 += addslashes($tableau['montant']);
    				}
    			if($tableau['annee'] == 2010)
    				{
    				$a10 += addslashes($tableau['montant']);
    				}
    			if($tableau['annee'] == 20101)
    				{
    				$a_1 += addslashes($tableau['montant']);
    				}
    			//fin du calcul par année//
     
     
     
    			$mont += addslashes($tableau['montant']);
    			$Tmont_2 = ($ant08 + $a08 + $a09 + $a10 + $a_1); // totalisation de la ligne //
     
    			}
     
    		$total += $mont; //calcul du total par année//
     
    		$Tant08 += $ant08;			
    		$Ta08 += $a08;
    		$Ta09 += $a09;
    		$Ta10 += $a10;
    		$Ta_1 += $a_1;		
    		$Tmont_3 += $Tmont_2; // Totalisation de la colonne //
     
    		if($mont > 0)
    			{
    			$ligne .= "<tr>
    						<td><a href='../includes/relance_02.php?numero=$id' target='_self'>".$id."</a></td>
    						<td>".$societe."</td>
    						<td>".$adherent."</td>
    						<td align='right' bgcolor='#669999'>".$mont."</td>
    						<td align='right'>".$ant08."</td>
    						<td align='right'>".$a08."</td>
    						<td align='right'>".$a09."</td>
    						<td align='right'>".$a10."</td>
    						<td align='right'>".$a_1."</td>
    						<td align='right' bgcolor='#669999'>".$Tmont_2."</td></tr>"; // total de la ligne //
    			}
    		}	
     
    $ligne .= "<tr><td colspan='3' bgcolor='#669999'>Total Final</td><td align='right' bgcolor='#669999'>".$total."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Tant08."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta08."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta09."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta10."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta_1."</td>"; // concerne les factures de moins d'un mois //
    $ligne .= "<td colspan='9' align='right' bgcolor='#669999'>".$Tmont_3."</td></tr>"; // total des differents totaux //
     
    $ligne .= "</table>";	
     }
    echo ("$ligne </br>");
     
    mysql_close();
    ?>
    Merci de votre aide car la je galère

    Runcafre91

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    ton problème est à quel endroit dans le code ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    ton problème est à quel endroit dans le code ?
    Bonjour,

    Le problème se situe pluto a ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //ici initialisation des variables total pour chaque année//
    		$Tant08 = 0;
    		$Ta08 = 0;
    		$Ta09 = 0;
    		$Ta10 = 0;
    		$Ta_1 = 0; //c'est pour les facture datant d'un - d'un mois ($Ta_1)//
     
    		$Tmont_3 = 0; // sert à la totalisation de la colonne des totaux
     
     
    $Tant08 += $ant08;			
    		$Ta08 += $a08;
    		$Ta09 += $a09;
    		$Ta10 += $a10;
    		$Ta_1 += $a_1;		
    		$Tmont_3 += $Tmont_2; // Totalisation de la colonne //
    c'est avec ces variable que je fasi les totaux

    Runcafre91

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    et qu'est ce qui ne fonctionne pas avec ce code ? montre nous un exemple

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    et qu'est ce qui ne fonctionne pas avec ce code ? montre nous un exemple
    Re,
    excuse lors de la création de ce post j'ai oublié de joindre une capture écran

    Donc ce qui ne fontionne pas, il ne fait pas le total des colonnes , comme résultat j'a 0 à chaque fois que j'initialise ou pas la variable.

    Cf capture écran

    Merci de votre aide

    Runcafre91

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Que te donnent les valeurs $a08, $a09 etc lors d'un echo ?

    Au passage, tu as une erreur là :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($tableau['annee'] == 20101)

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Que te donnent les valeurs $a08, $a09 etc lors d'un echo ?

    Au passage, tu as une erreur là :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($tableau['annee'] == 20101)
    bonjour,

    J'ai fai un écho de mes différents variable et à chaque fois ils m'affiche 0

    Concenant l'erreur signalée ou supposé pourras tu etre plus précis stp

    Merci de votre aide

    Runcafre91

  8. #8
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    je pense que c'est 2011 et pas 20101 non ?

    Sinon, si tu as toujours 0 pour tes $a08, $a09... alors il semblerait que soit tu n'entres jamais dans tes if (ie: $tableau['annee'] vaut jamais 2008, 2009 etc) soit $tableau['montant'] vaut toujours 0. As tu vérifié ces 2 variables si tu as toujours ton problème ?

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    je pense que c'est 2011 et pas 20101 non ?

    Sinon, si tu as toujours 0 pour tes $a08, $a09... alors il semblerait que soit tu n'entres jamais dans tes if (ie: $tableau['annee'] vaut jamais 2008, 2009 etc) soit $tableau['montant'] vaut toujours 0. As tu vérifié ces 2 variables si tu as toujours ton problème ?
    Re,

    j'ai essayé de voir d'ou viens le problème sans succes.

    Pour la ventillation par les année cela fonctionne mais c'est seulement que je faire le total de la colonne que la j'ai que des 0

    Pour l'erreur que vous avez signalé cela n'en ai pas un, en fait cela siginfie 20101 ---> année 2010 mois 1

    pour la ventillation par année voir la capture écran précedent.

    Merci pour votre aide.

  10. #10
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    addslashes — Ajoute des antislashs dans une chaîne
    je comprends pas tes instructions

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    addslashes($tableau['montant'])

    Logiquement, tu récupères des montants de ta table non ? dans tout les cas cette fonction t'ajoutera des \ le cas échéant et je vois pas comment tu vas pouvoir ajouter une chaine de caractère avec éventuellement des \ à un montant. Que te donnent les valeurs de tes montants à chaque enregistrement récupéré ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    while($tableau = mysql_fetch_array($rqt))
          echo $tableau['montant'];

  11. #11
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    je comprends pas tes instructions

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    addslashes($tableau['montant'])

    Logiquement, tu récupères des montants de ta table non ? dans tout les cas cette fonction t'ajoutera des \ le cas échéant et je vois pas comment tu vas pouvoir ajouter une chaine de caractère avec éventuellement des \ à un montant. Que te donnent les valeurs de tes montants à chaque enregistrement récupéré ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    while($tableau = mysql_fetch_array($rqt))
          echo $tableau['montant'];
    Re,

    J'ai apporté des modifications en enlevant les addslashes qui n'avaient pas lieu d'être. En faisisant un echo de $tableau['montant']; j'ai bien les montants qui s'affiche.
    Au niveau du total de la colonne cela n'a rien changer

    Ci-joint une caputre écran

    Runcafre91

  12. #12
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    ta colonne annee dans ta table est elle en varchar ? Si oui essaie ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    if($tableau['annee'] < '2008')
            {
    		$ant08 += $tableau['montant'];
    	}
    ...

  13. #13
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    ta colonne annee dans ta table est elle en varchar ? Si oui essaie ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    if($tableau['annee'] < '2008')
            {
    		$ant08 += $tableau['montant'];
    	}
    ...
    Re,

    Le code ci-dessus sert pour le calcule par année, a ce niveau j'arrive a avoir les montant pour chaque année.

    Mais ce qui ne fonctionne pas c'est lorsque je veux additionné toute la colonne qu'a chaque fois j'ai 0 en total.

    Faut-il créé une nouvelle variable afin de stocké le resultat au fur et a mesure

    j'ai créé une variable : $val pour fair eun test sur une colonne
    donc j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $val=$a09;
     
    		echo $val;
     
    		$Ta09 += $val;
    Lors du écho sur $val j'ai le résultat suivant : 000000023.92000000000001166.10000000001635.53000000439.53000000000002926.02000000000000000000000000000000520.26

    Est ce que cela ne serait pas du a un problème de format car avant chaque montant il n'affiche plusieur 0



    Merci de votre aide

    Runcafre91

  14. #14
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Pourquoi ne pas changer de requete SQL directement pour qu'elle te fasse le travail ?


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $rqt = mysql_query("SELECT montant, SUM(montant) FROM facture WHERE id_numero = '$id' GROUP BY annee ")or die(mysql_error());

  15. #15
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Pourquoi ne pas changer de requete SQL directement pour qu'elle te fasse le travail ?


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $rqt = mysql_query("SELECT montant, SUM(montant) FROM facture WHERE id_numero = '$id' GROUP BY annee ")or die(mysql_error());
    Re,

    j'avais déja pensé a cette éventualité mais cela ne convenais pas a ce que je voulais faire.

    Merci toute de même por l'idée.

    Runcafre91

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Re,

    j'avais déja pensé a cette éventualité mais cela ne convenais pas a ce que je voulais faire.

    Merci toute de même por l'idée.

    Runcafre91
    Bonjour,

    Après quelques recherche et en revoyant mon code, je e suis apercu que mes variable pour les totaux était initialiser au mauvaise endroit.

    A ce jour j'ai bien mes totaux concernant les colonne mais elles sont fause car a priori elles prennent en compte d'autre valeur.

    Je pense qu'il faudrais que je fasse une somme conditionnel en fonction de la région mais la je vois pas trop comment procéder.

    Ci-joint une capture écran et mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <?php
    if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
    {
        echo '<title> '.$titre.' </title>';
    }
    else //Sinon, on écrit forum par défaut
    {
        echo '<title> dus region </title>';
    }
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design" href="#" />
    </head>
     
    <body font-size='xx-small'>
    <h2><center><b><u> Ventilation des montants par année d'origine</u></b></center></h2><br><br>
     
    <a href="../index.php"> Retour à l'index</a><br>
     
    <?php
     
    include('../includes/inc_conexion.php');
    include('../includes/fonction.php');
     
    $result = mysql_query("SELECT nom_region FROM region ORDER BY id ASC")or die(mysql_error());
     
    echo '<form action="synthese_region.php" method="post">';
    echo '<select name="frm_select_region">';
     
    while ($row = mysql_fetch_array($result))
    	{
    	//si c'est le nom de la région qui est commun aux deux tables c'est le champ nom_region que tu dois mettre en value de ton select//
    	echo '<option value="'.$row['nom_region'].'">'.$row['nom_region'].'</option>';
    	}
     
    echo '</select>';
    echo '<input type="submit" value="Go" />';
    echo '</form>';	
     
     
    $var = "";
     
    $ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=1 WIDTH=100% ALIGN=left font-family='Verdana' font-size='xx-small' >
    			<td bgcolor='#669999'><b><u>Numero</u></b></td>
    			<td bgcolor='#669999'><b><u>Societe</u></b></td>
    			<td bgcolor='#669999'><b><u>Adhérent</u></b></td>		
    			<td bgcolor='#669999'><b><u>Montant</u></b></td>
    			<td bgcolor='#669999'><b><u>Anterieur à 2008</u></b></td>
    			<td bgcolor='#669999'><b><u>2008</u></b></td>
    			<td bgcolor='#669999'><b><u>2009</u></b></td>
    			<td bgcolor='#669999'><b><u>2010</u></b></td>
    			<td bgcolor='#669999'><b><u>2011</u></b></td>
    			<td bgcolor='#669999'><b><u>-1 mois</u></b></td>
    			<td bgcolor='#669999'><b><u>Vérif</u></b></td>";
     
    $total = 0;	
    //ici initialisation des variables total pour chaque année//
    		$Tant08 = 0;
    		$Ta08 = 0;
    		$Ta09 = 0;
    		$Ta10 = 0;
    		$Ta11 = 0;
    		$Ta_1 = 0; //c'est pour les facture datant d'un - d'un mois ($Ta_1)//
    		$Tmont_2 = 0; // sert a la totalisation des lignes
    		$Tmont_3 = 0; // sert à la totalisation de la colonne des totaux
     
     
    if(isset($_POST["frm_select_region"]) AND $_POST["frm_select_region"] != NULL)
    	{
    	$var = $_POST["frm_select_region"];
    	$rqt2 = mysql_query("SELECT * FROM societe WHERE nom_region = '$var' ORDER BY societe")or die(mysql_error());
    	}
    else
    	{
    	$rqt2 = mysql_query("SELECT * FROM societe ORDER BY societe")or die(mysql_error());
    	}
     
    	echo("Région selectionnée : $var </br></br>");
     
    if(mysql_num_rows($rqt2) > 0)
    	{
    	while($tableau2 = mysql_fetch_array($rqt2))
    		{
    		$id = $tableau2['id_numero'];
     
    		$societe = $tableau2['societe'];
    		$adherent = $tableau2['adherent'];
    		$ville = $tableau2['ville'];
    		$region = $tableau2['nom_region'];
    		$enseigne = $tableau2['enseigne'];
    		$telephone = $tableau2['telephone'];
    		$fax = $tableau2['fax'];
    		$siret = $tableau2['siret'];
     
    		$rqt = mysql_query("SELECT * FROM facture WHERE id_numero = '$id' ORDER BY `id_numero`")or die(mysql_error());
     
    		$ant08 = 0; //ici l'initialisation des variables par année//
    		$a08 = 0;
    		$a09 = 0;
    		$a10 = 0;
    		$a11 = 0;
    		$a_1 = 0;
    	$annee= "";
     
    		$mont = 0;
     
    		while($tableau = mysql_fetch_array($rqt))
    			{
    			//calcul par année//
    			if($tableau['annee'] == 'Ant 2008')
    				{
    				$ant08 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2008')
    				{
    				$a08 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2009')
    				{
    				$a09 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2010')
    				{
    				$a10 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2011')
    				{
    				$a11 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '20101')
    				{
    				$a_1 += $tableau['montant'];
    				}
    			//fin du calcul par année//
     
     
    			$mont += $tableau['montant'];
    			$Tmont_2 = ($ant08 + $a08 + $a09 + $a10 + $a11 + $a_1); // totalisation de la ligne //
     
    //***********************************************************************************************************************		
    // Echo sur le total de la colonne 2008 pour les autres années afin d'essayé d'identifié le problème
     
    			$Ta08 +=$a08;
    				echo $Ta08;
     
    			$Tant08 += $ant08;
    			$Ta09 += $a09;
    			$Ta10 += $a10;
    			$Ta11 += $a11;
    			$Ta_1 += $a_1; 
    			$Tmont_3 += $Tmont_2;
    			}
     
    		$total += $mont; //calcul du total par année//
     
     
    //**********************************************************************************************************************
     
    		if($mont > 0)
    			{
    			$ligne .= "<tr>
    						<td><a href='../includes/relance_02.php?numero=$id' target='_self'>".$id."</a></td>
    						<td>".$societe."</td>
    						<td>".$adherent."</td>
    						<td align='right' bgcolor='#669999'>".$mont."</td>
    						<td align='right'>".$ant08."</td>
    						<td align='right'>".$a08."</td>
    						<td align='right'>".$a09."</td>
    						<td align='right'>".$a10."</td>
    						<td align='right'>".$a11."</td>
    						<td align='right'>".$a_1."</td>
    						<td align='right' bgcolor='#669999'>".$Tmont_2."</td></tr>"; // total de la ligne //
    			}
    		}	
     
    $ligne .= "<tr><td colspan='3' bgcolor='#669999'>Total Final</td><td align='right' bgcolor='#669999'>".$total."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Tant08."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta08."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta09."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta10."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta10."</td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'>".$Ta_1."</td>"; // concerne les factures de moins d'un mois //
    $ligne .= "<td colspan='8' align='right' bgcolor='#669999'>".$Tmont_3."</td></tr>"; // total des differents totaux //
     
    $ligne .= "</table>";	
     }
    echo ("$ligne </br>");
     
    mysql_close();
    ?>
     Pièce jointe 58300
    Je vous remerci de votre aide

    Runcafre91

  17. #17
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par runcafre91 Voir le message
    Bonjour,

    Après quelques recherche et en revoyant mon code, je e suis apercu que mes variable pour les totaux était initialiser au mauvaise endroit.

    A ce jour j'ai bien mes totaux concernant les colonne mais elles sont fause car a priori elles prennent en compte d'autre valeur.

    Je pense qu'il faudrais que je fasse une somme conditionnel en fonction de la région mais la je vois pas trop comment procéder.

    Ci-joint une capture écran et mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <?php
    if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
    {
        echo '<title> '.$titre.' </title>';
    }
    else //Sinon, on écrit forum par défaut
    {
        echo '<title> dus region </title>';
    }
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design" href="#" />
    </head>
     
    <body font-size='xx-small'>
    <a href="../index.php"> Retour à l'index</a><br>
    <h2><center><b><u> Ventilation des montants par année d'origine</u></b></center></h2><br>
     
    <?php
     
    include('../includes/inc_conexion.php');
    include('../includes/fonction.php');
     
    $result = mysql_query("SELECT nom_region FROM region ORDER BY id ASC")or die(mysql_error());
     
    echo '<form action="synthese_region.php" method="post">';
    echo 'Choissisez votre région dans la liste : ';
    echo '<select name="frm_select_region">';
     
    while ($row = mysql_fetch_array($result))
    	{
    	//si c'est le nom de la région qui est commun aux deux tables c'est le champ nom_region que tu dois mettre en value de ton select//
    	echo '<option value="'.$row['nom_region'].'">'.$row['nom_region'].'</option>';
    	}
     
    echo '</select>';
    echo '<input type="submit" value="Go" />';
    echo '</form>';	
     
     
    $var = "";
     
    $ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=1 WIDTH=98% ALIGN=center font-family='Verdana' font-size='xx-small' >
    			<td bgcolor='#669999'><b><u>Numero</u></b></td>
    			<td bgcolor='#669999'><b><u>Societe</u></b></td>
    			<td bgcolor='#669999'><b><u>Adhérent</u></b></td>		
    			<td bgcolor='#669999' WIDTH=15px><b><u>Montant</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>Anterieur à 2008</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>2008</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>2009</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>2010</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>2011</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>-1 mois</u></b></td>
    			<td bgcolor='#669999' WIDTH=15px><b><u>Vérif</u></b></td>";
     
    $total = 0;	
    //ici initialisation des variables total pour chaque année//
    		$Tant08 = 0;
    		$Ta08 = 0;
    		$Ta09 = 0;
    		$Ta10 = 0;
    		$Ta11 = 0;
    		$Ta_1 = 0; //c'est pour les facture datant d'un - d'un mois ($Ta_1)//
    		$Tmont_3 = 0; // sert à la totalisation de la colonne des totaux
     
     
    if(isset($_POST["frm_select_region"]) AND $_POST["frm_select_region"] != NULL)
    	{
    	$var = $_POST["frm_select_region"];
    	$rqt2 = mysql_query("SELECT * FROM societe WHERE nom_region = '$var' ORDER BY societe")or die(mysql_error());
    	}
    else
    	{
    	$rqt2 = mysql_query("SELECT * FROM societe ORDER BY societe")or die(mysql_error());
    	}
     
    	echo("<b>Région selectionnée :</b> $var </br>");
     
    if(mysql_num_rows($rqt2) > 0)
    	{
    	while($tableau2 = mysql_fetch_array($rqt2))
    		{
    		$id = $tableau2['id_numero'];
     
    		$societe = $tableau2['societe'];
    		$adherent = $tableau2['adherent'];
    		$ville = $tableau2['ville'];
    		$region = $tableau2['nom_region'];
    		$enseigne = $tableau2['enseigne'];
    		$telephone = $tableau2['telephone'];
    		$fax = $tableau2['fax'];
    		$siret = $tableau2['siret'];
     
    		$rqt = mysql_query("SELECT * FROM facture WHERE id_numero = '$id' ORDER BY `id_numero`")or die(mysql_error());
     
    		$ant08 = 0; //ici l'initialisation des variables par année//
    		$a08 = 0;
    		$a09 = 0;
    		$a10 = 0;
    		$a11 = 0;
    		$a_1 = 0;
    		$Tmont_2 = 0; // sert a la totalisation des lignes
    	$annee= "";
     
    		$mont = 0;
     
    		while($tableau = mysql_fetch_array($rqt))
    			{
    			//calcul par année//
    			if($tableau['annee'] == 'Ant 2008')
    				{
    				$ant08 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2008')
    				{
    				$a08 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2009')
    				{
    				$a09 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '2010')
    				{
    				$a10 += $tableau['montant'];
    								}
    			if($tableau['annee'] == '2011')
    				{
    				$a11 += $tableau['montant'];
    				}
    			if($tableau['annee'] == '20101')
    				{
    				$a_1 += $tableau['montant'];
    				}
    			//fin du calcul par année//
    //***********************************************************************************************************************		
    // Calcul des totaux des colonnes en fonction de la region et de l'année
     
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == 'Ant 2008'))
    				{
    				$Tant08 += $ant08;
    				}
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == '2008'))
    				{
    				$Ta08 += $a08;
    				}
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == '2009'))
    				{
    				$Ta09 += $a09;
    				}	
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == '2010'))
    				{
    				$Ta10 += $a10;
    				}	
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == '2011'))
    				{
    				$Ta11 += $a11;
    				}	
    			if(($tableau2['nom_region'] == $var) AND ($tableau['annee'] == '20101'))
    				{
    				$Ta_1 += $a_1;
    				}
    			// fin du calcul des totaux par colonne
     
    //**************************************************************************************			
    // création du total par ligne " vérification avec le montant "
     
    $Tmont_2 = ($ant08 + $a08 + $a09 + $a10 + $a11 + $a_1); 
     
    //*************************************************************************************	
     
    			$mont += $tableau['montant'];
    			$Tmont_3 += $Tmont_2;
     
    		}
    //*****************************************************************************************
    // Calcul du total final par région
     
    		$total += $mont; 
     
    //**********************************************************************************************************************
     
    		if($mont > 0)
    			{
    			$ligne .= "<tr>
    						<td><font size ='2.5'><a href='../includes/relance_02.php?numero=$id' target='_self'>".$id."</a><font></td>
    						<td> <font size ='2.5'>".$societe."<font></td>
    						<td> <font size ='2.5'>".$adherent."<font></td>
    						<td align='right' bgcolor='#669999'><font size ='2.5'>".$mont."<font></td>
    						<td align='right'><font size ='2.5'>".$ant08."<font></td>
    						<td align='right'><font size ='2.5'>".$a08."<font></td>
    						<td align='right'><font size ='2.5'>".$a09."<font></td>
    						<td align='right'><font size ='2.5'>".$a10."<font></td>
    						<td align='right'><font size ='2.5'>".$a11."<font></td>
    						<td align='right'><font size ='2.5'>".$a_1."<font></td>
    						<td align='right' bgcolor='#669999'><font size ='2.5'>".$Tmont_2."<font></td></tr>"; // total de la ligne //
    			}
    		}	
     
    $ligne .= "<tr><td colspan='3' bgcolor='#669999'><font size ='2.5'>Total Final<font></td><td align='right' bgcolor='#669999'><font size ='2.5'>".$total."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Tant08."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Ta08."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Ta09."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Ta10."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Ta10."<font></td>";
    $ligne .= "<td colspan='1' align='right' bgcolor='#669999'><font size ='2.5'>".$Ta_1."<font></td>"; // concerne les factures de moins d'un mois //
    $ligne .= "<td colspan='8' align='right' bgcolor='#669999'><font size ='2.5'>".$Tmont_3."<font></td></tr>"; // total des differents totaux //
     
    $ligne .= "</table>";	
     }
    echo ("$ligne </br>");
     
    mysql_close();
    ?>
    Je vous remercie de votre aide

    Runcafre91
    Re quelqu'un peux m'aider a resoudre ce mystère car ca devient urgent que je finalise ce projet

    Runcafre91

  18. #18
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut,

    je suis pas sur de bien comprendre ton code et tes variables mais pourquoi ne pas faire quelque chose comme ca ?


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    while($tableau2 = mysql_fetch_array($rqt2))
    		{
    		$id = $tableau2['id_numero'];
    		
    		$societe = $tableau2['societe'];
    		$adherent = $tableau2['adherent'];
    		$ville = $tableau2['ville'];
    		$region = $tableau2['nom_region'];
    		$enseigne = $tableau2['enseigne'];
    		$telephone = $tableau2['telephone'];
    		$fax = $tableau2['fax'];
    		$siret = $tableau2['siret'];
    		
    		$rqt = mysql_query("SELECT * FROM facture WHERE id_numero = '$id' ORDER BY `id_numero`")or die(mysql_error());
    		
    		$ant08 = 0; //ici l'initialisation des variables par année//
    		$a08 = 0;
    		$a09 = 0;
    		$a10 = 0;
    		$a11 = 0;
    		$a_1 = 0;
    	        $annee= "";
                    $mont = 0;
                    $_SESSION[$region]['ant08'] = 0;
                     $_SESSION[$region]['ant08'] = 0;
                     $_SESSION[$region]['a08'] = 0;
                     $_SESSION[$region]['a09'] = 0;
                     $_SESSION[$region]['a10'] = 0;
                     $_SESSION[$region]['a11'] = 0;
                     $_SESSION[$region]['a_1'] = 0;
    
    
    
    
    while($tableau = mysql_fetch_array($rqt))
    			{
    			//calcul par année//
    			if($tableau['annee'] == 'Ant 2008')
    				{
    				$_SESSION[$region]['ant08'] += $tableau['montant'];
    				....

    Et tu accede ensuite a tes montants de cette maniere :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $montant_normandie = $_SESSION['normandie']['ant08'];

  19. #19
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Salut,

    je suis pas sur de bien comprendre ton code et tes variables mais pourquoi ne pas faire quelque chose comme ca ?


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    while($tableau2 = mysql_fetch_array($rqt2))
    		{
    		$id = $tableau2['id_numero'];
    		
    		$societe = $tableau2['societe'];
    		$adherent = $tableau2['adherent'];
    		$ville = $tableau2['ville'];
    		$region = $tableau2['nom_region'];
    		$enseigne = $tableau2['enseigne'];
    		$telephone = $tableau2['telephone'];
    		$fax = $tableau2['fax'];
    		$siret = $tableau2['siret'];
    		
    		$rqt = mysql_query("SELECT * FROM facture WHERE id_numero = '$id' ORDER BY `id_numero`")or die(mysql_error());
    		
    		$ant08 = 0; //ici l'initialisation des variables par année//
    		$a08 = 0;
    		$a09 = 0;
    		$a10 = 0;
    		$a11 = 0;
    		$a_1 = 0;
    	        $annee= "";
                    $mont = 0;
                    $_SESSION[$region]['ant08'] = 0;
                     $_SESSION[$region]['ant08'] = 0;
                     $_SESSION[$region]['a08'] = 0;
                     $_SESSION[$region]['a09'] = 0;
                     $_SESSION[$region]['a10'] = 0;
                     $_SESSION[$region]['a11'] = 0;
                     $_SESSION[$region]['a_1'] = 0;
    
    
    
    
    while($tableau = mysql_fetch_array($rqt))
    			{
    			//calcul par année//
    			if($tableau['annee'] == 'Ant 2008')
    				{
    				$_SESSION[$region]['ant08'] += $tableau['montant'];
    				....

    Et tu accede ensuite a tes montants de cette maniere :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $montant_normandie = $_SESSION['normandie']['ant08'];
    Bonjour,

    Merci pour cette solution mais voila cela ne résoud rien à mon probleme.
    J'ai toujours le mauvais total au niveau des colonne

    ce que je je veux c'est de récupérer le total par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //calcul par année//
    			if($tableau['annee'] == 'Ant 2008')
    				{
    				$_SESSION[$region]['ant08'] += $tableau['montant'];
    				}
     
    je veux faire le total de "Ant 2008"
    Et la j'ai un écart il me prend d'autre éléments que je ne sais aps d'ou cela provient

    merci de votre aide

    runcafre91

  20. #20
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut

    je veux faire le total de "Ant 2008"
    total par région ou total cumulé ?

    Par région, tu l'obtiens en faisant un echo de ta valeur de session, sinon pour avoir le total, tu crées une variable initialisée à 0 en dehors de ton while() à qui tu ajoutes les valeurs de tes montants à chaque tout de boucle, je vois pas ce qui te pose problème ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2013, 17h12
  2. Réponses: 7
    Dernier message: 22/09/2006, 16h52
  3. [Tableaux] Somme des éléments d'un tableau
    Par brazilpalace dans le forum Langage
    Réponses: 3
    Dernier message: 02/08/2006, 13h17
  4. Masquer des colonnes dans un tableau
    Par fornorst dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/04/2006, 22h00
  5. En-tête d'un des colonnes d'un tableau
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 06/05/2004, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo