Calculer les totaux des champs d'un tableau
pulls
Messages postés
160
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je programme en php/mysql,
Je parviens à calculer dans une boucle en php, le total des champs d'un tableau dont les données viennent d'une base de données. Mais j'ai un problème, ce total est figé; quand je fait un filtre dans mon tableau pour n'afficher que certaines lignes, le même total reste affiché.
Je voudrais que ce total varie en fonction de nombre de lignes affichées suivant un critère de recherche. J'utilise data Table pour faire les recherches dans mon tableau.
Comment dois-je le faire en javascript, s'il vous plait?
Cordialement.
je programme en php/mysql,
Je parviens à calculer dans une boucle en php, le total des champs d'un tableau dont les données viennent d'une base de données. Mais j'ai un problème, ce total est figé; quand je fait un filtre dans mon tableau pour n'afficher que certaines lignes, le même total reste affiché.
Je voudrais que ce total varie en fonction de nombre de lignes affichées suivant un critère de recherche. J'utilise data Table pour faire les recherches dans mon tableau.
Comment dois-je le faire en javascript, s'il vous plait?
Cordialement.
A voir également:
- Calculer les totaux des champs d'un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment calculer la moyenne sur excel - Guide
- Imprimer un tableau excel - Guide
24 réponses
justement, hier j'ai essayé de filtrer les commissions du code vendeur 102, ce qui ramenait le tableau à n'afficher que 3 lignes correspondantes à ce vendeur, le total du tableau que nous avons calculé avec JS, n'a pas changé.
Utilisateur anonyme
je sais quoi faire, attends
je met tout de même le code pour d'autres...
<body>
<table width="1105" border="0" align="left" cellpadding="0" cellspacing="1" bordercolor="#FF00FF" bgcolor="#FFFFFF" class="display" id="example" >
<caption class="important" >
<span class="Style4"> COMMISSIONS MOIS EN COURS </span>
</caption>
<thead >
<tr>
<td width="276" class="important">
<div align="center" class="Style3">
Date
</div></td>
<td width="34" class="important">
<div align="center" class="Style3">
Cse
</div></td>
<td width="43" class="important">
<div align="center" class="Style3">
Code
</div></td>
<td width="35" class="important">
<div align="center" class="Style3">
Rca
</div></td>
<td width="77" class="important">
<div align="center" class="Style3">
Percu
</div></td>
<td width="73" class="important">
<div align="center" class="Style3">
Cdef
</div></td>
<td width="69" class="important">
<div align="center" class="Style3">
C brutes
</div></td>
<td width="60" class="important">
<div align="center" class="Style3">
Ecarts+
</div></td>
<td width="56" class="important">
<div align="center" class="Style3">
Ecarts-
</div></td>
<td width="65" class="important">
<div align="center" class="Style3">
Rembmt
</div></td>
<td width="40" class="important">
<div align="center" class="Style3">
Ass
</div></td>
<td width="47" class="important">
<div align="center" class="Style3">
Impot
</div></td>
<td width="58" class="important">
<div align="center" class="Style3">
Avance
</div></td>
<td width="40" class="important">
<div align="center" class="Style3">
Scol
</div></td>
<td width="46" class="important">
<div align="center" class="Style3">
Dette
</div></td>
<td width="69" align="center" class="important"><strong>C Nettes</strong></td>
</tr>
</thead>
<tbody >
<tr bgcolor="">
<td height="22"> <div class="maclass">2013/09/02</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 6</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 5</div></td>
<td> <div class="maclass">6</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 4</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 5</div></td>
<td><div class="maclass"> 6<div></td>
</tr>
<tr bgcolor="">
<td height="22"> <div class="maclass">2013/09/02</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 6</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 5</div></td>
<td> <div class="maclass">6</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 4</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 5</div></td>
<td><div class="maclass"> 6<div></td>
</tr>
<tr bgcolor="">
<td height="22"> <div class="maclass">2013/09/02</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 8</div></td>
<td><div class="maclass"> 6</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 7</div></td>
<td><div class="maclass"> 5</div></td>
<td> <div class="maclass">6</div></td>
<td><div class="maclass"> 3</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 4</div></td>
<td><div class="maclass"> 2</div></td>
<td><div class="maclass"> 5</div></td>
<td><div class="maclass"> 6</div></td>
</tr>
</tbody>
<tfoot class="important" >
<tr>
<th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th><th ></th>
</tr>
</tfoot>
</table>
<script type="text/javascript">
var tds = document.getElementsByClassName("maclass");
var trs = document.getElementsByTagName("tr").length;
var ths = document.getElementsByTagName("th");
var len = tds.length;
var calc = "";
var count = len / (trs - 2);
var nbr = len - count;
var tab = new Array;
c = 0;
d = count;
for (var i = 0; i < len; i++) {
calc = parseFloat(calc + parseFloat((tds[d].innerHTML)));
tab[c] = calc;
d = d + count;
if (d > nbr + c) {
c++;
d = c;
calc = "";
}
}
for (var t = 0; t < tab.length; t++) {
ths[t].innerHTML = tab[t];
if (ths[0].innerHTML) {
ths[0].innerHTML = "total";
}
if (ths[1].innerHTML) {
ths[1].innerHTML = "";
}
if (ths[2].innerHTML) {
ths[2].innerHTML = "";
}
}
</script>
</body>
Je vais dans ce cas procéder autrement.
Dans mon tableau je vais mettre un lien pour afficher les commissions d'un vendeur donc le code sera renseigné dans une fenêtre pop up.
les commissions de ce vendeur sera affiché dans une autre fenêtre pop up avec un Total pour ce vendeur.
J'avais voulu avoir tout ça dans un seul tableau, je vois que c'est compliqué.
Je vous remercie pour avoir voulu m'aider.
Cordialement
Dans mon tableau je vais mettre un lien pour afficher les commissions d'un vendeur donc le code sera renseigné dans une fenêtre pop up.
les commissions de ce vendeur sera affiché dans une autre fenêtre pop up avec un Total pour ce vendeur.
J'avais voulu avoir tout ça dans un seul tableau, je vois que c'est compliqué.
Je vous remercie pour avoir voulu m'aider.
Cordialement