Calculer une colonne d'un tableau

Résolu/Fermé
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 - 23 févr. 2005 à 09:49
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 - 23 févr. 2005 à 15:22
Bonjour a tous !

aider moi SVP c'est important!!

voila, mon formulaire renvoi les resultats de ma requete dans un tableau (dans lesquel j'ai le deux colonnes "nom_division" et "nbr_total_de_pc" <ceci dit il ya plusieurs divisions>) :


Moi en fait je souhaiterais faire le total de la colonne "nbr_total_de_pc" pour ainsi calculé un taux de vétusté ?

comment je peut faire cela, je sai pas comment m'y prendre ? et c'est important pour moi SVP !

Merci beaucoup !!
A voir également:

5 réponses

trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 39
23 févr. 2005 à 10:33
Salut maily !
effectivement, je remplis mon tableau en mettant la requete que j'avais tester auparvant sur phpMyadmin,
la voivi :


SELECT division.nom_div,Count( * )nbr_total_PC (corespond a ma deuxieme colonne),
FROM materiel, division, type_mat
WHERE type_mat.id_sorte_mat = $smat
AND materiel.id_div = division.id_div
AND type_mat.id_type_mat = materiel.id_type_mat
GROUP BY division.id_div;

lorsque je la teste j'ai bien le resultat de la requete( les deux colonne)
mais voila c'est que normalement pour avoir le resultat total d ela colonne "nbr-pc-total" il faut avoir qu'il ya une boucle nen ? <et une boucle ds une requete hin ? jms vu, je dit nimp.. lol)



cmt je peut faire avec ma requete ? maily

grd merci
5
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
23 févr. 2005 à 10:41
En fait, il faut faire une autre requête dans ce cas là..

select count(*) nbr_total_PC  


ou alors... quand tu affiches:

$nbTotal = 0;

while (){ // ta boucle d'affichage, pour toutes les divisions
echo "<td>".$res[1]."</td>";
$nbTotal = $nbTotal + $res[1];
}

ou $res[1] correspond au nombre total de pc pour une division

Au choix!
Je te conseille la deuxième, comme ça, tu ne fais qu'un seul accès à la base de données, ce qui est mieux (plus rapide...)

0
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 39 > maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023
23 févr. 2005 à 11:51
merci pour ton aide maily!

j'ai essayer la 2em methode mais sans succes, je n'arive pas; je me mêle un ti pe les pinceaux, il m'affiche rien a l'ecran

voila
$nbTotal = 0;



while($tab = mysql_fetch_row($resultat))

//sa c'est mon tableau (ou il ya le nom_div et nbr_total_pc)
echo "<tr><td>"
.$tab[0] //nom_div
."</td><td>"
.$tab[1] //Nombre PC / imprimantes
."</td></td>"

$res[1] correspond au nombre total de pc pour une division
donc pour moi

echo "<td>".$tab[1]."</td>";
$nbTotal = $nbTotal + $tab[1];

----------------------------------------
c'est comme sa ou je me trompe!?

Mais par contre avec la premiere mehode (avec la requete)
sa fonctione bien (Attention il ya tjrs un "mais" avec moi olala) mais
du coup les données du tableau n'apparaisent plu et dans la colonne "non_div" j'ai mon résultat de la requete !


j'espere que je t'est pas trop chamboulé escuz moi ! c difficile a expliquer....
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453 > maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023
23 févr. 2005 à 12:01
ça ressemblerais à ça:
while($tab = mysql_fetch_row($resultat)){

//sa c'est mon tableau (ou il ya le nom_div et nbr_total_pc)
echo "<tr><td>"
.$tab[0] //nom_div
."</td><td>"
.$tab[1] //Nombre PC / imprimantes
."</td></td>";
$nbTotal = $nbTotal + $tab[1]; 

}

// apres l'affichage de tous les autres:
echo "<tr><td>nombre total</td><td>".$nbTotal."</td></tr>";
echo "</table>";
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453 > maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023
23 févr. 2005 à 12:03
Et pour l'autre méthode, c'est à dire la première, utilise 2 variables différentes pour récupérer les résultats des 2 requêtes que tu as effectuées.
0
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 39 > maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023
23 févr. 2005 à 14:49
Grand merci a toi maily !!

sa marche ! le resultat s'affiche! (comme tu c'est qu'avec moi ya tjrs un "mais" :)....c'est un peiti "mais" ausi hin du moin jespere....

voila c'est qu'à l'ecran, il m'affiche le resultat total à la fin c'est ce que je voulais, ...mais le probleme c'est en meme temp j'ai le detaile du calcul ...? .... j'ai essayer d'effacer, deplacer, remettre, du code mais je c'est pa pourkoi cela m'affiche sa !
voici un apercu sa sera plus clair...

191
804
919
928
935
969
1134
1263


Et dans mon tableau


DPP 191
ZONE STOCKAGE 613
DAPEC 115
RAPE 9
SAIA 169
DAETP 7
DPET 34


tu c'est pa pourquoi sa m'affiche sa ?
0
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 39
23 févr. 2005 à 15:04
oui escuse moi j' y avais penser mais j'ai oublier !

while($tab = mysql_fetch_row($resultat))


echo "<tr><td>"
.$tab[0] colonne //nom_div
."</td><td>"
.$tab[1] colonne //Nombre PC / imprimantes
."</td></td>"

.$nbTotal = $nbTotal +$tab[1];

//mon resulat en fin du tableau
echo "<tr><td>nombretotal</td><td>".$nbTotal."</td></tr>";echo "</table>";



merci
2
trik59 Messages postés 241 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 17 mai 2012 39
23 févr. 2005 à 15:22
pfou hou hou !!! :D :D je suis mort de rire!!
quel maily.... crô fort ! olala un de c'est..... moi
grand merci COM SO !! tu m'erite une fleur !!!!


/. _ .\

a++
2
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
23 févr. 2005 à 10:17
Bonjour!

Comment remplis tu ton tableau? Si c'est dans une base de données, tu pourras faire une requête toute simple avec count *. Ou alors, au moment ou tu les affiches, tu l'ajoute à une nouvelle variable qui sera le total...

ps: toutes les questions posées sont importantes pour ceux qui la posent... ;))))))))))
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
23 févr. 2005 à 15:14
Tu ne mets jamais {} ? ni de ;? et ça compile? bizarre....

while($tab = mysql_fetch_row($resultat)){

   echo "<tr><td>"
           .$tab[0] colonne //nom_div
           ."</td><td>"
           .$tab[1] colonne //Nombre PC / imprimantes
           ."</td></td>";

            $nbTotal = $nbTotal +$tab[1];
}

//mon resulat en fin du tableau
echo "<tr><td>nombretotal</td><td>".$nbTotal."</td></tr>";echo "</table>";


En fait, tu collais à ton affichage du tableau $nbTotal = $nbTotal + $tab[1]. ça, c'est à cause du . devant le $nbTotal = $nbTotal + $tab[1].
1