Falsches Ergebnis beim Vote

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

  • Falsches Ergebnis beim Vote

    Hallo...

    ich versuche gerade einen kleinen Vote zu schreiben, doch leider bekomme ich nach der SQL-Abfrage immer das falsche Ergebnis. Was mache ich denn falsch ?

    Hier zuerst die Abfrage:
    PHP-Code:
    MYSQL_QUERY("UPDATE $links SET vote_all = vote_all+1, vote_result = vote_result + $p_rate / vote_all, 
    datum=datum WHERE id = '
    $p_link_id'"); 
    Ich möchte also beim Update der Tabelle die Spalte vote_result um den Wert $p_rate erhöhen und dieses Ergebnis anschließend durch den Wert in der Spalte vote_all dividieren, doch leider kommt immer ein falsches Ergebnis dabei raus.

    Welches Format sollten die Spalten vote_all und vote_result besitzen, wenn ich mit Ihnen rechnen will ? Zur Zeit ist es DECIMAL (11)

    Vielen Dank für eure Hilfe....
    Mfg,

    Schoppy

  • #2
    Schon mal Mathe in der Schule gehabt und was von Punkt vor Strich gehört???
    Ausserdem ist vote_all in dem update noch nicht um einserhöht.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Sorry...

      Hallo...

      sorry...mein Fehler...ich habe das ganze jetzt mal so gelöst, doch klappt das auch nicht ganz, weil die Ergebnisse immer automatisch auf ganze Zahlen aufgerundet werden.

      PHP-Code:
      $vote_all $d1[vote_all] + 1;
      $vote_result = ($d1[vote_result] + $p_rate) / $vote_all;
              
      MYSQL_QUERY("UPDATE $links SET vote_all = $vote_all, vote_result = $vote_result, datum=datum WHERE id = '$p_link_id'"); 

      Beispiel:

      Bei 2 abgebenen Bewertungen (einmal 10 und einmal 5) macht das bei mir (10+5)/2 =7,5...das Script errechnet da leider eine 8 :-(
      Mfg,

      Schoppy

      Kommentar


      • #4
        Re: Sorry...

        Original geschrieben von Schoppy
        Bei 2 abgebenen Bewertungen (einmal 10 und einmal 5) macht das bei mir (10+5)/2 =7,5...das Script errechnet da leider eine 8 :-(
        du sagst doch selbst oben, dass der datentyp z.zt. decimal(11) wäre - wo soll mysql denn da bitte die nachkommastellen ablegen...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X