Subtranieren von Werten

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

  • Subtranieren von Werten

    Hallo,

    ich bin gerade dabei ein Sript zur Kontoführung zu erstellen.
    Aber ich komme mit dem Subtrahieren von Werten nicht klar.

    Hier mein bisheriges Script:

    PHP-Code:
      <?php
      
    include ('config1.php');
      
    $abfrage "SELECT nickname, date_format(datum, '%d.%m.%Y') AS datum, 
      verwendung, grund, betrag 
      FROM konto where nickname='" 
    $_POST['auswahl'] . "'";
      
    $ergebnis mysql_query($abfrage);
      
    $summe1 mysql_query("SELECT SUM(betrag) as plus FROM konto 
                where nickname='" 
    $_POST['auswahl'] . "' AND typ='Einnahme'");
      
    $summe2 mysql_query("SELECT SUM(betrag) as minus FROM konto 
                where nickname='" 
    $_POST['auswahl'] . "' AND typ='Ausgabe'");
      
    $diff$summe1-$summe2;                       
      while(
    $row mysql_fetch_object($ergebnis))
      {
      echo 
    "<tr><td class='links'>";
      echo 
    $row ->datum;
      echo 
    "</td><td class='mitte1'>";
      echo 
    $row ->verwendung;
      echo 
    "</td><td class='mitte2'>";
      echo 
    $row ->grund;
      echo 
    "</td><td class='mitte3'>";
      echo 
    $row ->betrag;
      echo 
    "</td><td class='rechts'>Euro</td></tr>";
      }
      while (
    $row mysql_fetch_object($summe1)) {
      echo 
    "<tr><td class='links1' colspan='3'><strong>Einnahmen</strong></td>";
      echo 
    "<td class='mitte3'><strong>";
      echo 
    $row ->plus;
      echo 
    "</strong></td><td class='rechts'><strong>Euro</strong></td></tr>";
      }
      while (
    $row mysql_fetch_object($summe2)) {
      echo 
    "<tr><td class='links1' colspan='3'><strong>Ausgaben</strong></td>";
      echo 
    "<td class='mitte3'><strong>";
      echo 
    $row ->minus;
      echo 
    "</strong></td><td class='rechts'><strong>Euro</strong></td></tr>";
      }
      echo 
    "<tr><td class='links1' colspan='3'><strong>Kontostand</strong></td>";
      echo 
    "<td class='mitte3'><strong>";
      echo 
    $diff;
      echo 
    "</strong></td><td class='rechts'><strong>Euro</strong></td></tr>";
      
    ?>
    So wie es jetzt ist, wird bei echo $diff immer -1 ausgegeben.

    Wie muss der Code geändert werden, damit die Summe2 von der Summe 1 abgezogen wird
    und richtig ausgegebn wird?


    Grüße von Sven
    Zuletzt geändert von Sven4972; 25.04.2007, 21:21.

  • #2
    summe1 und summe2 geben jeweils nur eine mysql-ressource zurück. also nichts womit man rechnen könnte.
    mfg

    Kommentar


    • #3
      Hallo,

      und wie müssten die Werte dann aussehen mit denen man rechnen könnte?


      Grüße von Sven

      Kommentar


      • #4
        Original geschrieben von Sven4972
        und wie müssten die Werte dann aussehen mit denen man rechnen könnte?
        Wie sehen denn die Werte aus, die du bisher ausgibst?

        Schaun wir doch mal:
        PHP-Code:
        echo $row ->plus;
        //...
        echo $row ->minus
        Hier gibst du doch die Inhalte der mit SUM ermittelten Spalten schon aus - warum benutzt du die dann nicht auch zum rechnen ...?

        Derzeit verwendest du, wie schon gesagt wurde, die von mysql_query zurückgelieferten Resource IDs, was aber kompletter Unfug ist. Informiere dich bitte, was dieser Begriff bedeutet, OK?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hallo,

          ich komme nicht weiter.
          Er zeigt mir immer 0 oder -1 an, egal wie ich es probiere.

          PHP-Code:
          $diff $plus $minus
          PHP-Code:
          $diff plus minus
          PHP-Code:
          $diff '$plus' '$minus'
          PHP-Code:
          $diff 'plus' 'minus'
          Könnt Ihr mir bitte helfen?


          Grüße von Sven

          Kommentar


          • #6
            ich habe wirklich angst, weil du an einer finanz-relevanten software arbeitest. sag mir bitte, wie sie heißt, damit ich nicht darüber stolpern muss.

            was hat wahsaga dir gesagt? hast du das gelesen? auch verstanden? mal ausprobiert?

            dir ist anscheinend gar nicht klar, was da passiert. du solltest aus $summe1 und $summe2 erst mal das ergebnis "fetchen", als array oder objekt, was dir lieber ist. darin findest du die werte, die du subtrahieren möchtest.

            Kommentar


            • #7
              OffTopic:
              Was zur Hölle sei eigentlich subtrainieren? Fitness unterhalb der Optimalbelastung oder sowas?
              ich glaube

              Kommentar


              • #8
                Original geschrieben von penizillin
                ich habe wirklich angst, weil du an einer finanz-relevanten software arbeitest. sag mir bitte, wie sie heißt, damit ich nicht darüber stolpern muss.
                Ich glaube (hoffe) dass er das nur für sich selbst macht.
                Quasi eine möglichkeit buch über geldbewegungen zu führen.

                Sowas hatte ich früher auch als ich noch kein echtes konto hatte,
                damit wusste ich immer wo mein taschengeld hinging.

                Damals hab ich das allerdings in C geschrieben.



                greets
                (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                Kommentar


                • #9
                  Original geschrieben von ministry
                  OffTopic:
                  Was zur Hölle sei eigentlich subtrainieren? Fitness unterhalb der Optimalbelastung oder sowas?
                  Da steht subtranieren. Tranieren könnte soviel heissen wie
                  "etwas in tran tränken". Subtranieren ist dann öhm,.... ich hab
                  keine ahnung.

                  Btw. scheint das wort recht beliebt zu sein:
                  tranieren

                  greets
                  (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                  Kommentar


                  • #10
                    OffTopic:
                    ROFL - Hintern tranieren möglich? Naja,wie auch immer...
                    ich glaube

                    Kommentar


                    • #11
                      wenn es noch nicht funktionieren sollte nimm folgendes
                      PHP-Code:
                      $result mysql_query("SELECT SUM(betrag) as plus FROM konto 
                                  where nickname='" 
                      $_POST['auswahl'] . "' AND typ='Einnahme'");
                      $row=mysql_fetch_object($result);
                      $summe1 $row->plus;

                      $result mysql_query("SELECT SUM(betrag) as minus FROM konto 
                                  where nickname='" 
                      $_POST['auswahl'] . "' AND typ='Ausgabe'");
                      $row=mysql_fetch_object($result);
                      $summe2 $row->minus;
                       
                      $diff$summe1-$summe2
                      hoffe aber du verstehst was hier passiert
                      mfg

                      Kommentar


                      • #12
                        Ich frage mich, warum du für Ausgaben nicht einfach negative Beträge verwendest …
                        Oder warum Du die Berechnung nicht von der DB machen läßt …
                        Code:
                        SELECT SUM(betrag * IF(typ = 'Ausgabe', -1, 1))
                          FROM konto
                         WHERE nickname = 'wuerstchen'
                           AND typ IN ('Einnahme', 'Ausgabe')
                        sollte zumindest eine Abfrage sparen …
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar

                        Lädt...
                        X