Frage

Ich bin ein Neuling, wenn es um SQL und PHP kommt, und ich versuche, ein durchschnittliches Preis Ergebnis abzurunden und die zusätzliche Nullen zu entfernen, dass zur Zeit erscheinen.

Zur Zeit meines Ergebnis dreht sich wie: $ 3.005000

Mein Code lautet derzeit wie folgt:

$result = mysql_query("SELECT AVG(price) FROM milk WHERE price > 0 ");
$row = mysql_fetch_row ($result);

Ich habe mehrere Beispiele für SQL-Runden und Abschneiden gefunden, aber leider sind die Tutorials, die ich mir ohne nützliche Informationen gesehen haben bieten auf, wo oder wie soll ich diese Änderungen implementieren.

Das lässt mich machen Vermutungen auf, wo Änderungen vorzunehmen -. Von denen keiner bisher ausgearbeitet (natürlich)

Wenn jemand mich mit einem Beispiel liefern könnte, wie meine Ergebnisse abzurunden und gestutzt, was einschließt, wo genau muss ich diese Änderungen in meiner aktuellen Konfiguration machen, das wäre sehr hilfreich und ich würde sehr dankbar sein! Es tut mir leid, wenn meine n00bishness macht es schwieriger, die Lösung zu erklären.

Danke!

War es hilfreich?

Lösung

MySQL hat einen ROUND () Funktion.

Also nur um deinen Durchschnitt in der SQL-Abfrage:

$result = mysql_query("SELECT ROUND(AVG(price),2) FROM milk WHERE price > 0 ");

Wenn Sie mit Formatierungsprobleme am Ende, können Sie PHP verwenden number_format () Funktion bei der Ausgabe.

Andere Tipps

Die Formatierung der Daten sollte im Skript machte die Abfrage durchgeführt wird, nicht in der Abfrage selbst. Zum Beispiel in PHP können Sie schreiben, die folgenden mit sprintf :

$formatted_price = sprintf("%01.2f", $unformatted_price);

(Beispiel ergänzt von PHP-Handbuch ).

Auch im Allgemeinen, Preiswerte werden als decimal Typen oder skalierte ganze Zahlen gespeichert sind, nicht Gleitkommatypen, da Fließkommawerte sind nicht exakt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top