php + mysql sortiert falsch?!

cofter

Erfahrenes Mitglied
Hi, ich habe folgendes query


PHP:
SELECT * FROM $this->table ORDER BY pRank ASC LIMIT 0, 5

Er soll mir die ersten 5 Ränge ausgeben.

Die Spalte pRank hat ganz normal 1 - 10000 als Wert pro User, jetzt dachte ich das ich eine Ausgabe in dieser Art erhalte 1, 2, 3, 4, 5 ... aber ich bekomme 1, 10, 2, 3, 4.
Könnte mir jemand sagen warum er das macht und wie ich das verhindern kann?

mfg
Cofter
 
Hallo,

nur von deinem MySQL-Statement aus kann man nichts erkennen, was falsch sein soll.
Ein bisschen mehr PHP-Code wäre hier sicher gut.

Welchen Datentyp hat deine Spalte "prank" ? Die Sortierung sieht fast ein bisschen nach einer regulärem CHAR-Spalte aus.
Wie rufst du die Daten ab? Sortierst du in PHP nocheinmal bevor du die Daten ausgibst ?

Steht in $this->table vielleicht was falsches drin, eventuell hast du noch eine andere ähnliche Tabelle?

Markus
 
Wenn das Feld pReank kein numerisches Feld ist (ichi nehme an, dass es ein Textfeld ist), dann sortiert er es nach dem Schema

1,10,11,2,21,22,23,3 usw

Du musst das pRank-Feld als integer in der Datenbank anlegen - dann sortiert er auch die Zahlen "richtig"
 
Es lag tatsächlich daran das die Tabelle Varchar war.
Habs in INT geändert und nun sortiert er auch richtig.

vielen Dank
Cofter
 
Zurück