Werte nach Größe ordnen

nordi

Erfahrenes Mitglied
Hi,
hab ein kleines Problem:
Also ich hab in einer MySQL Tabelle Werte ( Zahlen ) aufgelistet, will die jetzt nach Größe anzeigen lassen.
Bis hundert klappt das auch problemlos - aber höhere Werte schiebt er einfach so irgendworein:

Hier ist der Code :

PHP:
<?php

$verbindung = @mysql_connect("$dbhost","$dbuser","$dbpass");

 if (!$verbindung) {
 		echo "Keine Verbindung möglich!\n";
 		exit;
 	}


$abfrage = "SELECT * FROM $sqltable ORDER BY highscore DESC LIMIT 500";
$ergebnis = mysql_db_query($dbtable,$abfrage,$verbindung);
while (list($id,$name,$highscore) = mysql_fetch_row($ergebnis)) 
{
echo "<table width=\"20%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
  <tr> 
    <td class=name width=\"50%\"> 
      <div align=\"center\"><b>$name</b></div>
    </td>
    <td> 
      <div align=\"center\" width=\"50%\">$highscore</div>
    </td>
  </tr>
</table><br>";
}    
?>

Das sollte doch eigentlich klappen, oder?
Weiß jemand die Lösung


Mfg aus Köln

Marius
 
naja varchar war nicht die erste wahl :-)

sollteste ändern auf int ...

ansonsten wage ich mal zu behaupten die grösse deines varchar ist kleiner 4 ..
 
Ok, werds gleich mal mit INT ausprobieren....
Deine Behauptung liegt falsch ;) ! Die größe vom varchar beträgt 120

marius
 
wow 120 :-)

ab mir ist noch was eingefallen warum er falsch auflistet:

1 10 100 fangen mit char 1 an und sind somit kleiner wie
2 (als char)
 
Jo, das ist es ...
Integer schaut nach dem Wert der ganzen Zahl, varchar schaut letter für letter (zahl für zahl) nach dem wert :)

Code:
Integer, sortiert:
1
5
14
19
22
23
101

Code:
Varchar, sortiert:
1
101
14
19
22
23
5

Sowas lern ich in der Schule :D
 
Zurück