Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calcul la somme !!!

    18 mai 2006 à 14:47:06

    Bonjour
    Je voudrais savoir comment faire pour obtenir la somme d un champ ( ou plus precisement une partie que j aurais fais apparaitre a l ecran) :-°
    je ne sais pas si je me vais comprendre .....
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2006 à 14:49:33

      La somme d'un champ ?? Je comprends pas très bien mais je pense que tu veux faire un :
      SELECT SUM(champ) AS somme FROM tatable
      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2006 à 15:14:02

        Merci
        J imagine que cela doit etre un truc comme ca mais je n arrive pas a l appliquer.
        J aimerais appliquer la SUM sur le nbmenuiserie..
        en fait j explique je selectionne un client puis une date là apparaissent des données dont le nombre de menuiserie et j aimerais avoir par ailleurs la somme de ces dernieres.
        je laisse une partie de mon code
        <?php
                                        if (isset ($_POST['nom']) AND isset ($_POST['date'])and !empty($_POST['nom']) and !empty($_POST['date']))
                                        {
                                                $datecde = ($_POST['date']);
                                                $numclient = ($_POST['nom']);
                                                $reponse1 = mysql_query("SELECT nom, ref, nbmenuiserie, DATE_FORMAT(date_livr,'%W') as jourliv, DATE_FORMAT(date_livr,'%u') as semaineliv
                                                                                                 FROM commandes c, clients cl
                                                                                                 WHERE date_livr='$datecde' and c.id_client=$numclient and c.id_client=cl.id_client"
        ) or die (mysql_error());
                                               
                                                ?>
                                                        <table>
                                                        <tr>
                                                        <th width=100px>CLIENT</th>
                                                        <th width=100px>REFERENCE</th>
                                                        <th width=50px>QTE</th>
                                                        <th width=100px>JOUR</th>
                                                        <th width=100px>SEMAINE</th>
                                                        </tr>
                                                        </table>
                                                        <?php
                                                        while ($donnees1 = mysql_fetch_array ($reponse1)){
                                                        ?>
                                                        <table class="pvc">
                                                                <tr>
                                                                <td width=100px><?php echo $donnees1['nom']?></td>
                                                                <td width=100px><?php echo $donnees1['ref']?></td>
                                                                <td width=50px><?php echo $donnees1['nbmenuiserie']?></td>
                                                                <td width=100px><?php echo $donnees1['jourliv']?></td>
                                                                <td width=100px><?php echo $donnees1['semaineliv']?></td>
                                                                </tr>
                                                        </table>


        MERCI
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          18 mai 2006 à 15:55:11

          Euh, je n'ai pas compris la question :o !

          En gros, tu demande à compter le nbmenuiserie total de toutes les commandes de ton client :o ?
          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2006 à 16:02:34

            oui
            une fois le client et la date selectionné.
            voila ce que j ai essayé comme me le proposé Baptiste (utilisé SUM)
            mais rien probleme de syntaxe.
            ne pas tenir compte de la presentation

            <?php
                                            if (isset ($_POST['nom']) AND isset ($_POST['date'])and !empty($_POST['nom']) and !empty($_POST['date']))
                                            {
                                                    $datecde = ($_POST['date']);
                                                    $numclient = ($_POST['nom']);
                                                    $reponse1 = mysql_query("SELECT nom, ref, SUM (nbmenuiserie) AS somme, DATE_FORMAT(date_livr,'%W') as jourliv, DATE_FORMAT(date_livr,'%u') as semaineliv
                                                                                                     FROM commandes c, clients cl
                                                                                                     WHERE date_livr='$datecde' and c.id_client=$numclient and c.id_client=cl.id_client"
            ) or die (mysql_error());
                                                   
                                                    ?>
                                                            <table>
                                                            <tr>
                                                            <th width=100px>CLIENT</th>
                                                            <th width=100px>REFERENCE</th>
                                                            <th width=50px>QTE</th>
                                                            <th width=100px>JOUR</th>
                                                            <th width=100px>toto</th>
                                                            </tr>
                                                            </table>
                                                            <?php
                                                            while ($donnees1 = mysql_fetch_array ($reponse1)){
                                                            ?>
                                                            <table class="pvc">
                                                                    <tr>
                                                                    <td width=100px><?php echo $donnees1['nom']?></td>
                                                                    <td width=100px><?php echo $donnees1['ref']?></td>
                                                                    <td width=50px><?php echo $donnees1['nbmenuiserie']?></td>
                                                                    <td width=100px><?php echo $donnees1['jourliv']?></td>
                                                                    <td width=100px><?php echo $donnees1['somme']?></td>
                                                                    </tr>
                                                            </table>
                                                            <?php
            • Partager sur Facebook
            • Partager sur Twitter
              18 mai 2006 à 17:57:04

              Compter :



              La table "test" contient un champ "pseudo", tu veux comptés le nombre total de pseudo ?

              SELECT COUNT(pseudo) AS total FROM membres


              Ensuite tu met ca dans un array (mysql_fetch_assoc()).

              Additionner :



              La table "test" contient un champ "point", tu veux comptés le nombre total de point ?

              SELECT SUM(points) AS total FROM membres


              Ensuite tu met ca dans un array (mysql_fetch_assoc()).

              :p
              • Partager sur Facebook
              • Partager sur Twitter
                22 mai 2006 à 11:23:35

                Bon bah je doit etre vraiment mauvais je n y arrive pas
                <?php
                                                mysql_connect("localhost","root","");
                                                mysql_select_db("planning");
                                               
                                                        $reponse1 = mysql_query("SELECT  SUM('nbmenuiserie') AS somme
                                                                                                        FROM commandes "
                ) or die (mysql_error());
                                                                                                       
                                                        ?>
                                                                <table>
                                                                <tr>
                                                                <th width=100px>total</th>
                                                                </tr>
                                                                </table>
                                                                <?php
                                                                while ($donnees1 = mysql_fetch_assoc ($reponse1) or die (mysql_error()){
                                                                ?>
                                                                <table class="pvc">
                                                                        <tr>
                                                                        <td width=100px><?php echo $donnees1['somme']?></td>
                                                                        </tr>
                                                                </table>
                                                                <?php
                                                                }
                                               
                                               
                                                        mysql_close();
                                ?>
                • Partager sur Facebook
                • Partager sur Twitter
                  22 mai 2006 à 11:31:08

                  Ya pas besoin de while() avec SUM.
                  De plus, enlève le '' autours de ton champ.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 mai 2006 à 11:37:15

                    essaie ca:

                    SELECT nom, `ref`, nbmenuiserie, DATE_FORMAT(date_livr,'%W') AS jourliv, DATE_FORMAT(date_livr,'%u') AS semaineliv, SUM(nbmenuiserie) AS menuiseries
                    FROM commandes Cd
                    LEFT JOIN clients Cl ON Cl.id_client = Cd.id_client
                    WHERE date_livr = '$datecde'
                    GROUP BY Cd.id_client


                    Sinon, si tu pouvais exporter tees tables que je puisse mieux comprendre/tester ca m'aiderait :)

                    EDIT: quand je dis "essaie ca", ca veut dire que tu execute la requête dans PHPMyAdmin pour voir si elle marche, avant de la mettre dans ton code PHP :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 mai 2006 à 11:38:13

                      Citation : DHKold

                      essaie ca:

                      SELECT nom, `ref`, nbmenuiserie, DATE_FORMAT(date_livr,'%W') AS jourliv, DATE_FORMAT(date_livr,'%u') AS semaineliv, SUM(nbmenuiserie) AS menuiseries
                      FROM commandes Cd
                      LEFT JOIN clients Cl ON Cl.id_client = Cd.id_client
                      WHERE date_livr = '$datecde'
                      GROUP BY Cd.id_client



                      Sinon, si tu pouvais exporter tees tables que je puisse mieux comprendre/tester ca m'aiderait :)



                      Ca c'est de la requête :p
                      (J'ai rien compris à LEFT JOIN mais c'est pas grave :lol: )
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 mai 2006 à 13:32:47

                        LEFT JOIN, c'est une jointure, en gros, on joint la "ligne" (les champs selectionnés) de la table clients ou l'id du client est le même, mais tu pouvais utiliser un NATURAL JOIN ici (ou encore utiliser un USING au lieu du ON) ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 mai 2006 à 14:26:50

                          je sais, mais si il ne connait pas les jointures, lui faire utiliser NATURAL aurrait été quelque peut déroutant ^^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 mai 2006 à 15:50:06

                            Merci encore , juste un detail qui me tracasse :
                            Comment je fais pour afficher cette quantité calculé vu que l on me dis de ne pas utiliser le while ?

                            Merci @+
                            • Partager sur Facebook
                            • Partager sur Twitter
                              22 mai 2006 à 16:09:01

                              as tu essayé ma requête?

                              Le while, tu peux l'utiliser dès que tu dois afficher plusieurs élements. Par contre, si tu ne sélectionne qu'une ligne, pas besoin de boucle, vu qu'il n'y en a qu'une ^^
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 mai 2006 à 16:18:19

                                Oui je l ai essayé mais comme je le disais je n arrive pas a afficher le resultat.. :( je suis vraiment mauvais avec le mal que vous vous donnez :(
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Calcul la somme !!!

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown