Bonjour,

je me permet de vous demander de l'aide, car je ne trouve pas de solution à mon problème.

Je voudrais pouvoir faire des sommes sur des colonnes, sachant que mes données sont calculées dans une boucle.
Avec un peu de code ça va aller mieux.

Ma requête principale qui me récupère des numéros de compte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
//Récupération de la liste des directions complètes
mysql_select_db($database_connection, $connection);
$query_infoDirection = "SELECT a.descriptionDirection, b.descriptionService, c.numeroCompte, c.enveloppeCompte FROM directions a, services b, compte c WHERE a.directionsID=b.directionsID_directions AND b.serviceID=c.serviceID_services AND a.directionsID='".$directionsID."'";
$infoDirection = mysql_query($query_infoDirection, $connection) or die(mysql_error());
$row_infoDirection = mysql_fetch_assoc($infoDirection);
C'est sur cette requete que je vais faire ma boucle : do {} while
Dans cette boucle je vais calculer un certain nombre de choses, par des requetes à ma base, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
//Récupération de toutes les informations du tableau
			//****************************************PARTIE REPRO ETAGE****************************************//
//Calcul du cout total pour les copieurs décentralisés
//mysql_select_db($database_connection, $connection);
$query_montantReleveTotalNB = "SELECT SUM(a.nombreReleve) as nombreReleveNB FROM releve a WHERE a.descriptionTarifReleve='A4 - Copie Noir et blanc' AND a.numeroCompteReleve='".$row_infoDirection['numeroCompte']."' AND a.dateReleve>='".dateEn($date1)."' AND a.dateReleve<='".dateEn($date2)."'";
$montantReleveTotalNB = mysql_query($query_montantReleveTotalNB, $connection) or die(mysql_error());
$row_montantReleveTotalNB = mysql_fetch_assoc($montantReleveTotalNB);
Ceci va du coup de créer un certain nombre de ligne, par exemple : 26, avec pour chacunes des lignes la somme calculée.

Maintenant ce que je cherche à faire, c'est tout en bas du tableau à la fin de ma boucle do{}while, d'avoir la somme globale de ce tableau sur la colonne.

J'espère que je me suis assez bien fais comprendre.

Merci à vous de votre aide.

Cordialement.

EDIT : La création du tableau (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
<table cellpadding="0" cellspacing="0" width="100%">
		<tr>
			<td class="th3">&nbsp;</td>
			<td class="th1" colspan="2"><center>Rep. Etage</center></td>
			<td class="th1" colspan="5"><center>CIMPR</center></td>
			<td class="th3" colspan="2">&nbsp;</td>
			<td class="th1" colspan="2"><center>Montant</center></td>
		</tr>
		<tr>
			<td class="th1">Intitul&eacute;</td>
			<td class="th1">N&B</td>
			<td class="th1">Couleur</td>
			<td class="th1">N&B</td>
			<td class="th1">Couleur</td>
			<td class="th1">Plans N&B</td>
			<td class="th1">Plans Couleur</td>
			<td class="th1">Spirales</td>
			<td class="th1">Papier</td>
			<td class="th1">Imprimerie</td>
			<td class="th1">Enveloppe</td>
			<td class="th1">Montant</td>
		</tr>
		<?php
			do { 
			//Récupération de toutes les informations du tableau
			//****************************************PARTIE REPRO ETAGE****************************************//
			//Calcul du cout total pour les copieurs décentralisés
			//mysql_select_db($database_connection, $connection);
			$query_montantReleveTotalNB = "SELECT SUM(a.nombreReleve) as nombreReleveNB FROM releve a WHERE a.descriptionTarifReleve='A4 - Copie Noir et blanc' AND a.numeroCompteReleve='".$row_infoDirection['numeroCompte']."' AND a.dateReleve>='".dateEn($date1)."' AND a.dateReleve<='".dateEn($date2)."'";
			$montantReleveTotalNB = mysql_query($query_montantReleveTotalNB, $connection) or die(mysql_error());
			$row_montantReleveTotalNB = mysql_fetch_assoc($montantReleveTotalNB);
 
			//Calcul du cout total pour les copieurs décentralisés
			//mysql_select_db($database_connection, $connection);
			$query_montantReleveTotalCouleur = "SELECT SUM(a.nombreReleve) as nombreReleveCouleur FROM releve a WHERE a.descriptionTarifReleve='A4 - Copie couleur' AND a.numeroCompteReleve='".$row_infoDirection['numeroCompte']."' AND a.dateReleve>='".dateEn($date1)."' AND a.dateReleve<='".dateEn($date2)."'";
			$montantReleveTotalCouleur = mysql_query($query_montantReleveTotalCouleur, $connection) or die(mysql_error());
			$row_montantReleveTotalCouleur = mysql_fetch_assoc($montantReleveTotalCouleur);
 
			//****************************************PARTIE CIMPR****************************************//
			//Récupération des infos dans la table releveCimpr
			//Calcul du montant total pour les reprographies NOIR ET BLANC
			//mysql_select_db($database_connection, $connection);
			$query_releveCimprNB= "SELECT SUM(a.nombreCopiesReleveCimpr) as nombreCopiesReleveCimprNB FROM relevecimpr a WHERE a.numeroCompteReleveCimpr='".$row_infoDirection['numeroCompte']."' AND a.descriptionTypeReleveCimpr='1' AND a.dateReleveCimpr>='".dateEn($date1)."' AND a.dateReleveCimpr<='".dateEn($date2)."'";
			$releveCimprNB = mysql_query($query_releveCimprNB, $connection) or die(mysql_error());
			$row_releveCimprNB = mysql_fetch_assoc($releveCimprNB);
 
			//Calcul du montant total pour les reprographies COULEUR
			//mysql_select_db($database_connection, $connection);
			$query_releveCimprCouleur= "SELECT SUM(a.nombreCopiesReleveCimpr) as nombreCopiesReleveCimprCouleur FROM relevecimpr a WHERE a.numeroCompteReleveCimpr='".$row_infoDirection['numeroCompte']."' AND a.descriptionTypeReleveCimpr='2' AND a.dateReleveCimpr>='".dateEn($date1)."' AND a.dateReleveCimpr<='".dateEn($date2)."'";
			$releveCimprCouleur = mysql_query($query_releveCimprCouleur, $connection) or die(mysql_error());
			$row_releveCimprCouleur = mysql_fetch_assoc($releveCimprCouleur);
 
			//Calcul du montant total pour les reprographies TIRAGE DE PLANS NOIR & BLANC
			//mysql_select_db($database_connection, $connection);
			$query_releveCimprPlans= "SELECT SUM(a.nombreCopiesReleveCimpr) as nombreCopiesReleveCimprPlans FROM relevecimpr a WHERE a.numeroCompteReleveCimpr='".$row_infoDirection['numeroCompte']."' AND a.descriptionTypeReleveCimpr='3' AND a.dateReleveCimpr>='".dateEn($date1)."' AND a.dateReleveCimpr<='".dateEn($date2)."'";
			$releveCimprPlans = mysql_query($query_releveCimprPlans, $connection) or die(mysql_error());
			$row_releveCimprPlans = mysql_fetch_assoc($releveCimprPlans);
 
			//Calcul du montant total pour les reprographies TIRAGE DE PLANS COULEUR
			//mysql_select_db($database_connection, $connection);
			$query_releveCimprPlansCouleur= "SELECT SUM(a.nombreCopiesReleveCimpr) as nombreCopiesReleveCimprPlansCouleur FROM relevecimpr a WHERE a.numeroCompteReleveCimpr='".$row_infoDirection['numeroCompte']."' AND a.descriptionTypeReleveCimpr='5' AND a.dateReleveCimpr>='".dateEn($date1)."' AND a.dateReleveCimpr<='".dateEn($date2)."'";
			$releveCimprPlansCouleur = mysql_query($query_releveCimprPlansCouleur, $connection) or die(mysql_error());
			$row_releveCimprPlansCouleur = mysql_fetch_assoc($releveCimprPlansCouleur);
 
			//Calcul du montant total pour les RELIURES
			//mysql_select_db($database_connection, $connection);
			$query_releveCimprReliure= "SELECT SUM(a.nombreReliureReleveCimpr) as nombreReliureReleveCimprReliure FROM relevecimpr a WHERE a.numeroCompteReleveCimpr='".$row_infoDirection['numeroCompte']."' AND a.dateReleveCimpr>='".dateEn($date1)."' AND a.dateReleveCimpr<='".dateEn($date2)."'";
			$releveCimprReliure = mysql_query($query_releveCimprReliure, $connection) or die(mysql_error());
			$row_releveCimprReliure = mysql_fetch_assoc($releveCimprReliure);
 
			//****************************************PARTIE COMMANDE PAPIER****************************************//
			//Calcul du cout total pour les commandes papier imprimante 
			//mysql_select_db($database_connection, $connection);
			$query_montantTotalCommandePapier = "SELECT SUM(a.montantTotalCommandePapier) as montantTotalCommandePapier FROM commandepapier a WHERE a.numeroCompteCommandePapier='".$row_infoDirection['numeroCompte']."' AND a.dateCommandePapier>='".dateEn($date1)."' AND a.dateCommandePapier<='".dateEn($date2)."'";
			$montantTotalCommandePapier = mysql_query($query_montantTotalCommandePapier, $connection) or die(mysql_error());
			$row_montantTotalCommandePapier = mysql_fetch_assoc($montantTotalCommandePapier);
 
			//****************************************PARTIE IMPRIMERIE****************************************//
			$query_releveImp= "SELECT SUM(a.montantGeneralReleveImp) AS montantGeneralImprimerie FROM releveimp a WHERE a.numeroCompteReleveImp='".$row_infoDirection['numeroCompte']."' AND a.dateReleveImp>='".dateEn($date1)."' AND a.dateReleveImp<='".dateEn($date2)."'";
			$releveImp = mysql_query($query_releveImp, $connection) or die(mysql_error());
			$row_releveImp = mysql_fetch_assoc($releveImp);
			$totalRows_releveImp = mysql_num_rows($releveImp);
 
			//****************************************CALCUL DU MONTANT TOTAL****************************************//
			$montantTotal=(
			($row_montantReleveTotalNB['nombreReleveNB']*0.04) + 
			($row_montantReleveTotalCouleur['nombreReleveCouleur']*0.24) + 
			($row_releveCimprNB['nombreCopiesReleveCimprNB']*0.04) + 
			($row_releveCimprCouleur['nombreCopiesReleveCimprCouleur']*0.24) + 
			($row_releveCimprPlans['nombreCopiesReleveCimprPlans']*1.40) + 
			($row_releveCimprPlansCouleur['nombreCopiesReleveCimprPlansCouleur']*13.35) + 
			($row_releveCimprReliure['nombreReliureReleveCimprReliure']*2.94) + 
			$row_montantTotalCommandePapier['montantTotalCommandePapier'] + 
			$row_releveImp['montantGeneralImprimerie']			
			);
		?>
		<tr>
			<td class="th3"><?php echo stripslashes($row_infoDirection['descriptionService']);?></td>
			<td class="th3"><center><?php echo number_format($row_montantReleveTotalNB['nombreReleveNB'],0,',',' '); ?></center></td>
			<td class="th3"><center><?php echo number_format($row_montantReleveTotalCouleur['nombreReleveCouleur'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_releveCimprNB['nombreCopiesReleveCimprNB'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_releveCimprCouleur['nombreCopiesReleveCimprCouleur'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_releveCimprPlans['nombreCopiesReleveCimprPlans'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_releveCimprPlansCouleur['nombreCopiesReleveCimprPlansCouleur'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_releveCimprReliure['nombreReliureReleveCimprReliure'],0,',',' ')  ?></center></td>
			<td class="th3"><center><?php echo number_format($row_montantTotalCommandePapier['montantTotalCommandePapier'],2,',',' ')  ?> &euro;</center></td>
			<td class="th3"><center><?php echo number_format($row_releveImp['montantGeneralImprimerie'],2,',',' ')  ?> &euro;</center></td>
			<td class="th3"><center><?php echo number_format($row_infoDirection['enveloppeCompte'],2,',',' ');?> &euro;</center></td>
			<td class="th3"><center><?php echo number_format($montantTotal,2,',',' ') ?> &euro;</center></td>
		</tr>
		<?php } while ($row_infoDirection = mysql_fetch_assoc($infoDirection)); ?>
	</table>