Ankündigung

Einklappen
Keine Ankündigung bisher.

Zahlen zusammenzählen

Einklappen

Neue Werbung 2019

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

  • Zahlen zusammenzählen

    Hi

    Ich will die Zahlen aus der DB zusammenzählen. Die Zahlen sind in MySql als double erfasst.

    Die Zahlen werden ausgeben, doch ich will das Resultat, die Summe der Zahlen.

    Was mache ich falsch?


    PHP-Code:
    $query_objekt="SELECT brutto FROM db
    where wohnung_id=
    $row_haus[wohnung_id]";
    $result_objekt=mysql_query($query_objekt);
    $zaehler=0;
    while (
    $data=mysql_fetch_array($result_objekt))
    {
    $zaehler=$zaehler+$data[0];
    }
    echo
    "$zaehler"

  • #2
    Versuche es mal so:
    PHP-Code:
    $query_objekt="SELECT sum(brutto)  FROM db where wohnung_id = $row_haus[wohnung_id]"

    $result_objekt=mysql_query($query_objekt) or die ("MySQL-Error: " mysql_error());

    $summe mysql_result($result_objekt0);

    echo 
    $summe
    Gruß
    phpfan

    Kommentar


    • #3
      Danke, aber im echo kommen immer noch die Zahlen hintereinander, statt zusammegezählt.

      Ich habe im MySql auch schon umgestellt auf Dezimal, aber es zählt nicht zusammen.

      Ich habe die Funktion auf zwei unterschiedlichen Servern getestet, und es wird einfach nicht gerechnet!

      Gruss
      Sonja

      Kommentar


      • #4
        http://de.php.net/manual/de/function.settype.php

        versuchs mal damit !

        Kommentar


        • #5
          Zitat von Sonja
          Danke, aber im echo kommen immer noch die Zahlen hintereinander, statt zusammegezählt.
          In meinem Quellcode wird genau einmal $summe ausgegeben, es kann also nicht mehrfach kommen. Es sei denn, du hast diesen Teil in einer Schleife, die du uns aber dann verschwiegen hast.

          Gruß
          phpfan

          Kommentar


          • #6
            Es sind schon mehrere Schleifen, und ich habe nur den Teil daraus kopiert. Die Summe ist aber schon immerhalb einer SChlafe

            Das Ganze ist auf mehrere Tabellen aufgeteilt. Und ich brauche den Mietzins pro Verwaltung

            Eine kleine Beschreibung:

            Es gibt viele Verwaltungen
            Jede Verwaltung hat Häuser
            Jedes Haus hat Wohnungen
            Jede Wohnung hat Mietzinse, alte, aktuelle und ev. zukünftige

            Und ich brauche die aktuellen Mietzinse pro Verwaltung, also die Summe

            Der Ganze Code sieht so aus:




            PHP-Code:
            <table border="1" cellpadding="0" cellspacing="0">
            <?
            $query_verwalt = "SELECT  * FROM db1,db2,db3
            where db1.verwalt_id=db2.verwalt_id
            and bd3.haus_id=db2.haus_id
            GROUP BY db1.verwalt_id";
            $result_verwalt = mysql_query($query_verwalt,$link);
                        while ($row_verwalt = mysql_fetch_array($result_verwalt))
                        { 
                        ?> 
                        <tr valign="top" class="text"><td> <?php echo"$row_verwalt[verwalt_name]";?></td>
                        <td>
                            
                        <?php
                        $verwalt_id
            =$row_verwalt[verwalt_id];
                        
            $query_haus "SELECT wohnung_id  FROM db2,db3
                        where db2.haus_id=db3.haus_id
                        and verwalt_id=
            $verwalt_id";
                        
            $result_haus mysql_query($query_haus,$link);
                                while (
            $row_haus mysql_fetch_array($result_haus))
                                { 
                                        
            $query_objekt="SELECT SUM(wohnung_brutto)  FROM db3,db4
                                        where db3.wohnung_id=db4.wohnung_id
                                        and db3.wohnung_id=
            $row_haus[wohnung_id]"
                                        
            $result_objekt=mysql_query($query_objekt) or die ("MySQL-Error: " mysql_error());
                                        
            $summe mysql_result($result_objekt0);
                                        echo 
            $summe
                                        
            //Trennzeichen nur um zu sehen ob es einzelne Zahlen sind
                                        
            echo"I";
                                }
                          
            ?>
                          </td>
                          </tr>
                        <?php
                        
            }?>
            </table>

            Als Resultat (nur eine Zelle einer Zeile ) 345I345I650I456I456I456I56I750I345I345I750I675I567 I678I

            Also immer schön die Zahle dass das I das ich im Moment noch gesetzt habe!

            PS: ich versuchte auch alles über ein SELECT zu machen, aber das brauchte kein gutes Resultat, weil dann nur noch 1 Wohnung pro Verwaltung ausgegeben wurde.

            Kommentar


            • #7
              Tja, dann solltest du mal etwas nachdenken, zumal es sich hier ja wohl um ein kommerzielles Script handelt. Oder willst du uns erzählen, dass du eine Wohnungsverwaltung nur aus Langeweile schreibst?

              Setze $summe am Anfang auf 0 und in der Schleife schreibst du

              $summe .= mysql_result($result_objekt, 0);

              Und wenn die Schleifen beendet sind, kannst du $summe ausgeben. Außerdem bleibt es dein Geheimnis, warum du "Select *" auf drei Tabellen machst, wenn du nur einen Teil davon brauchst. Das ganze sieht mir nicht besonders durchdacht aus.

              Gruß
              phpfan

              Gruß
              phpfan

              Kommentar


              • #8
                Gelöst!

                Aber immer noch mit 2 Select!

                PHP-Code:
                <?php
                <?php 
                $heute
                =time();     
                $query "SELECT  verwalt_name,verwalt_zusatz,verwalt.verwalt_id
                FROM verwalt,haus,wohnung
                WHERE verwalt.verwalt_id=haus.verwalt_id
                AND haus.haus_id=wohnung.haus_id
                GROUP BY verwalt.verwalt_id"
                ;
                $result mysql_query($query,$link);
                while (
                $row mysql_fetch_array($result))

                ?>
                      <tr class='text'>
                       <td>    <?php echo"$row[verwalt_name]";?>,<?php echo"$row[verwalt_zusatz]";?></td>
                        <td><div align="right">
                        <?php 
                        $query2 
                ="SELECT  SUM(wohnung_brutto)
                        FROM haus,wohnung,wohnungsmiete
                        WHERE haus.haus_id=wohnung.haus_id
                        AND wohnung.wohnung_id=wohnungsmiete.wohnung_id
                        AND verwalt_id=
                $row[verwalt_id]
                        AND wohnung_zinsab<'
                $heute
                        order by wohnung_zinsab desc"
                ;
                        
                $result2=mysql_query($query2) or die ("MySQL-Error: " mysql_error());
                        
                $summe mysql_result($result20);
                        echo 
                $summe?>
                ?>

                Kommentar


                • #9
                  ... JOIN ... könnte dir da weiter helfen ...

                  Zitat von Sonja
                  Aber immer noch mit 2 Select!

                  Kommentar


                  • #10
                    SELECT verwalt_name, verwalt_zusatz, verwalt.verwalt_id, SUM(wohnung_brutto)
                    FROM verwalt INNER JOIN haus ON verwalt.verwalt_id=haus.verwalt_id
                    INNER JOIN wohnung ON wohnung.haus_id=haus.haus_id
                    INNER JOIN wohnungsmiete ON wohnung.wohnung_id=wohnungsmiete.wohnung_id
                    WHERE wohnung_zinsab<'$heute'
                    GROUP BY verwalt.verwalt_id
                    ORDER BY wohnung_zinsab desc


                    so in etwa (ungetestet)
                    [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                    Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

                    Kommentar


                    • #11
                      Investier mehr Zeit ins Design, das ist ja grauenhaft.

                      Kommentar


                      • #12
                        Danke dieser Code geht auch - fast

                        Ich habe eine Auflistung, das ist gut

                        Wie aber bringe ich die einzelnen Summen auf die einezelnen Zeilen? In meinem Script mache ich eine weitere Schlaufe, wenn ich auf diese verzichten kann gut, aber wie?

                        Kommentar

                        Lädt...
                        X