jenslm: ROUND problem

Liebe User,
kleines Problem:

Abfrage =
$sql = "SELECT id, timestamp, (ratingsum/ratings) as rating FROM table WHERE id = '5'";

Ausgabe =

$roundrating = round($row['oldrating']);  
echo $roundrating;

In der DB ist gespeichert:
ID = 5
ratingsum = 7
ratings = 3

also muesste $rating = 2.5 sein
also muesste $roundrating = 3 sein

bei der Ausgabe von $roundrating wird aber 2 angezeigt
wieso?
lg, jens

  1. Hallo,

    naja, dann stimmt was mit deinen zahlen nicht:

    <?php
    var_dump(round(3.5));

    gibt:

    float(4)

    Gruß

    jobo

  2. Ich finde zu round die Info, dass erst alles größer ",5" aufgerundet wird.

  3. Hallo Jens,

    $roundrating = round($row['oldrating']);

    Wo kommt die Spalte "oldrating" her? Du meinst wohl "rating", oder?

    In der DB ist gespeichert:
    ID = 5
    ratingsum = 7
    ratings = 3

    also muesste $rating = 2.5 sein

    Nein. 7/3 ist nicht 2,5 sondern 2,33 - und das ist gerundet nun einmal nicht 3 sondern 2. btw: Runden kann MySQL auch selbst, da brauchst du PHP nicht dafür.

    Gruß,
    Tobias

    1. mal bitte einfach den post hier vergessen :D
      war echd ferdamt blöt :D

      aber trotzdem hats was gebracht...

      Runden kann MySQL

      ...wie funktioniert das? finde keinen Eintrag
      lg

      1. Hallo Jens,

        aber trotzdem hats was gebracht...

        Runden kann MySQL
        ...wie funktioniert das? finde keinen Eintrag

        Dann solltest du an deiner Suchstrategie arbeiten - die Funktion heißt genauso wie bei PHP und ist bei den Mathematischen Funktionen zu finden ...

        Gruß,
        Tobias