Viser ikke top coins rigtigt

Tags:    php

Fold kodeboks ind/udPHP kode 


Top coins brugere
Bruger1 550.000 C
Bruger2 500 C
Bruger3 150.000 C

Bør vel være 500 C i bunden?.



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hviken data type er din "mønt"? Hvis den er typen af varchar sorterer den anderledes end hvis den var af typen int.

Desuden så mangler du sortering i din query.

"SELECT *, SUM(konto) AS total FROM `eyebank` GROUP BY `konto`"

til

"SELECT *, SUM(konto) AS total FROM `eyebank` GROUP BY `konto` ORDER BY total"

Kan dog ikke huske om order by skal stå før eller efter group by.



Indlæg senest redigeret d. 28.10.2012 12:05 af Bruger #6559
Hov, det er lidt min fejl. Det er fordi der skal stå:

ORDER BY [column] ASC/DESC

ASC er for stigende og desc er for faldende.
Da du ønsker at sortere stigende (lavest først), skal der stå

ORDER BY total ASC.




Hej,

Hvis jeg gør sådan her:

$hentstatus = mysql_query("SELECT *, SUM(konto) AS total FROM `eyebank` GROUP BY `konto`");
$sql = "SELECT *, SUM(konto) AS total FROM `eyebank` GROUP BY `konto` ORDER BY total";

Så får jeg min top coins forkert i rækken.

Bruger2 500 C
Bruger3 150.000 C
Bruger1 550.000 C

Vil sige, den største i bunden, og mindste i toppen. Bør byttes rundt :(


--

Men med:

$hentstatus = mysql_query("SELECT *, SUM(konto) AS total FROM `eyebank` GROUP BY `konto`");
$sql = "SELECT *, SUM(konto) AS total FROM eyebank WHERE `konto` GROUP BY `konto` ORDER BY total DESC limit 5";
$query = mysql_query($sql) or die(mysql_error());
while($b = mysql_fetch_assoc($query))
{

Så viser den det korrekt.
Ser det også rigtig ud i $sql ?

Bare så den ikke fucker på et tidspunkt.





Indlæg senest redigeret d. 28.10.2012 13:41 af Bruger #17369
Tak, ja fandt jeg så ud af :)
Og mange tak. Det hjalp.



t