multiplikation ergibt immer 0.... -.-

  • hab folgenden code:

    das ergebnis mit den werten aus der datenbank ist immer: 0,1 - 3456 - 0
    also dosis 0,1 gewicht, 3456gramm und das ergebnis immer 0..

    wo liegt hier der hund begraben?

    Einmal editiert, zuletzt von synaptic (8. August 2009 um 20:37)

  • Wie sieht denn die DB-Struktur bzw. die Typen aus?

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • in der db benutze ich nur varchar und date, die hier benutzten datentypen sind varchar.
    dachte eigentlich dass ic da mit varchar rangehen kann... sollte vielleicht doch auf double umsteigen für gewicht und dosierung
    wenn ich mit doubleval() an die ergebnisse rangehe wird da auch immer 0 statt 0,1 draus.

  • Varchar ist natürlich Quatsch. Du hast Zahlen und keinen Text. Dein Problem ist das Komma, entweder du passt die DB an oder du müsstest direkt nach dem Auslesen das Komma durch einen Punkt ersetzen.

  • direkt nach dem Auslesen das Komma durch einen Punkt ersetzen.

    omg wie dumm ich ma bin.. hab wegen punkt und komma auch in java immer entsprechende funktionen gebaut, die die usereingabe hinsichtlich dieser problematik abändern...
    man man man

    *koppauftischklopp* :D