Calculer une colonne d'un tableau

Résolu
trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   -  
trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   -
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 !!

5 réponses

  1. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    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
    1. maily Messages postés 7560 Statut Contributeur 453
       
      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
    2. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39 > maily Messages postés 7560 Statut Contributeur
       
      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
    3. maily Messages postés 7560 Statut Contributeur 453 > maily Messages postés 7560 Statut Contributeur
       
      ç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
    4. maily Messages postés 7560 Statut Contributeur 453 > maily Messages postés 7560 Statut Contributeur
       
      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
    5. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39 > maily Messages postés 7560 Statut Contributeur
       
      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
  2. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    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
  3. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    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
  4. maily Messages postés 7560 Statut Contributeur 453
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maily Messages postés 7560 Statut Contributeur 453
     
    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