Summe bei mysql Abfrage ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Summe bei mysql Abfrage ermitteln

    Ich lese die Summe einer Spalte einer Tabelle aus und bekomme eine resource ID angezeigt, warum nicht die Summe die ich abgefragt habe?

    irgendwie dreh ich mich im Kreis oder bin schon blind geworden.
    bei phpmyadmin funzt die Select anfrage.


    function wert_summe_auslesen($id)
    {
    $summwert=$this->db->query('SELECT SUM(wert) FROM auftrag');
    echo $summwert;

    }

    oder mach ich nen Denkfehler?
    Der günstigste Webspace in Europa

    150 MB nur 99 CENT

    http://www.hostloco.com

  • #2
    vielleicht liegts daran, dass die methode query nur das liefert
    Kissolino.com

    Kommentar


    • #3
      das ist die query:

      -----------------------

      function query($sqlquery)
      {
      return mysql_query($sqlquery, $this->link);
      }

      wie kann ich das machen, dass ich jetzt die Summe erhalte?
      oder macht es Sinn die Summe der Felder dann mit PHP zu berechnen?
      Zuletzt geändert von thomasjhh; 19.01.2004, 18:30.
      Der günstigste Webspace in Europa

      150 MB nur 99 CENT

      http://www.hostloco.com

      Kommentar


      • #4
        Original geschrieben von thomasjhh
        das ist die query:

        -----------------------

        function query($sqlquery)
        {
        return mysql_query($sqlquery, $this->link);
        }
        was soll die anderes zurückgeben als eine resource-id?
        wie kann ich das machen, dass ich jetzt die Summe erhalte?
        mysql_fetch_array(), mysql_result() ... es würde imho aber sinn machen der summe einen alias zu verpassen ... und ein group by wär auch nicht schlecht => http://www.mysql.com/doc/en/GROUP-BY-Functions.html
        oder macht es Sinn die Summe der Felder dann mit PHP zu berechnen?
        eigentlich nicht
        Kissolino.com

        Kommentar


        • #5
          Re: Summe bei mysql Abfrage ermitteln

          Code:
          query('SELECT SUM(wert) FROM auftrag');
          du mußt der spalte nen namen(alias) geben? wie willst du sie sonst ansprechen?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            $res=$this->db->query('SELECT SUM(wert) as summe FROM auftrag');

            ist das so richtig mit dem alias?
            wie kann ich den dann auslesen?


            alternativ hab ich versucht den wert einfach in ein array zu packen
            mit einer schleife zu durchlaufen aber dann habe ich die Summe immer noch nicht:

            $arr=array()
            $res=$this->db->query('SELECT wert FROM auftrag');
            for ($i=0; $i<mysql_num_rows($res); $i++)
            array_push($arr, mysql_fetch_array($res));
            return $arr;

            danke für eure geduld ;-)
            Der günstigste Webspace in Europa

            150 MB nur 99 CENT

            http://www.hostloco.com

            Kommentar


            • #7
              hmm,

              wenn durch php erzeugte queries nicht funktionieren/unklar sind, benutz doch php_your_admin, um erstmal die query zu testen oder sie zu verstehen ...
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                tja leider hilft mir diese Antwort nicht viel weiter.

                ich hab jetzt das richtige array was ich benötige:

                function wert_summe_auslesen()
                {
                $arr=array();
                $res=$this->db->query('SELECT wert FROM auftrag');
                for ($i=0; $i<mysql_num_rows($res); $i++)
                array_push ($arr, mysql_fetch_array($res));
                return $arr;




                }
                das frage ich ab mit:

                $gesamtwert=$auftrag->wert_summe_auslesen();
                echo '<table border ="1" >';
                foreach ($gesamtwert as $wert)
                echo '<tr><td>'.$wert[wert].'</td></tr>';
                echo '</table>';

                -----------------------------
                hier bekomme ich die richtigen werte angezeigt die addiert werden müssen.

                aber nutze ich :

                $hallo=array_sum($wert);
                echo $hallo;

                wirft der mir zwar eine Zahl raus aber die falsche...
                ich werd hier noch irre.. aber vielleicht kann mir jemand sagen wo jetzt noch der fehler liegt?
                ich wollte ja nur eine summe haben;-)
                Der günstigste Webspace in Europa

                150 MB nur 99 CENT

                http://www.hostloco.com

                Kommentar


                • #9
                  print_r($arr); was kommt da raus?

                  ausserdem, warum jetzt doch nicht per mysql?
                  Kissolino.com

                  Kommentar


                  • #10
                    Wurzel, danke für Deine Antwort.

                    bei print_r kommt raus:
                    ----------------------------------
                    Array ( [0] => Array ( [0] => 0 [wert] => 0 ) [1] => Array ( [0] => 10 [wert] => 10 ) [2] => Array ( [0] => 20 [wert] => 20 ) [3] => Array ( [0] => 0 [wert] => 0 ) [4] => Array ( [0] => 0 [wert] => 0 ) [5] => Array ( [0] => 0 [wert] => 0 ) [6] => Array ( [0] => 100 [wert] => 100 ) [7] => Array ( [0] => 10 [wert] => 10 ) [8] => Array ( [0] => 1000 [wert] => 1000 ) [9] => Array ( [0] => 55 [wert] => 55 ) [10] => Array ( [0] => 55 [wert] => 55 ) [11] => Array ( [0] => 55 [wert] => 55 ) )

                    ------------------------------------

                    also genau die Werte die ich auch benötige!

                    naja warum nicht per mysql? irgendwie klappt das nicht mit dem alias
                    wenn Du mir verrätst wie ich davon jetzt die Summe bekomme?
                    Der günstigste Webspace in Europa

                    150 MB nur 99 CENT

                    http://www.hostloco.com

                    Kommentar


                    • #11
                      probiers mal mit
                      PHP-Code:
                      while($row=mysql_fetch_array($res))
                      {
                          
                      $arr[]=$row['wert'];
                      }
                      echo 
                      array_sum($arr);

                      //----------------
                      $res $db->query('SELECT SUM(wert) summe FROM auftrag');
                      echo 
                      mysql_result($res,0,'summe');
                      // sollte auch gehen 
                      Kissolino.com

                      Kommentar


                      • #12
                        oh Mann,

                        viele Dank für Deine Hilfe
                        man kommt doch beim programmieren immer wieder an etwas was man noch nicht gemacht hat, oft kann man das nachlesen, aber hier war das echt schwer irgendwie..

                        Danke für Deine Lösung.
                        Jetzt komm ich weiter..
                        Der günstigste Webspace in Europa

                        150 MB nur 99 CENT

                        http://www.hostloco.com

                        Kommentar

                        Lädt...
                        X