webForumDet fria alternativet

Högsta värdet blir inte högst?!!

Databaser & SQL

5 svar · 568 visningar · startad av toja

Medlem sedan mars 2001218 inlägg
Frågan#1

Tjena...

Problem nu igen!

Listar lite resultat i ordning med lägsta värdet först och högsta sist!

Kör enligt:
$query = mysql_query("SELECT *, date_format(h_datum, '%d/%m') as h_time FROM highscore ORDER BY h_timer LIMIT 10", $link_id);

Det ska sorteras enligt typ:

79
103
106
124
135
176
205
1002
1345
1366

Problemet verkar vara att den sorterar:

103
106
124
135
176
1002
1345
1366
205
79

Något åt det hållet sorterar den...
Hur råder jag bot på detta.?!!

mvh
Tommie

Medlem sedan aug. 20021 752 inlägg
#2

Du sorterar stängar och inte tal. Någon lösning har jag inte eftersom jag inte förstår exakt vad det är du försöker göra (datum som highscore?) men en sista lösning kan ju vara att sortera det i PHP istället.

/Viktor

Medlem sedan mars 2001218 inlägg
#3

Så vad du menar, är att om man ska lista de tio bästa av säg 5000 träffar, så måste man ta ut alla 5000 resultat och sedan sortera med php... är det verkligen det bästa sättet..?! Någon annan..?!!

Medlem sedan maj 20018 027 inlägg
#4

En lösning är ju att sortera med avseende på tal. Fast det kräver ju förstås en ordentlig omgörning av din nuvarande databasstruktur. Men tänk på det nästa gång du designar en databasstruktur, så blir det enklare då. :)

Medlem sedan mars 2001218 inlägg
#5

Viktor skrev:

Du sorterar stängar och inte tal

Vad störd jag blir på mig själv... hade satt tabellen som "Varchar" istället för "int" ... ändrade det och vips var problemet löst!

Medlem sedan nov. 2000857 inlägg
#6

Flyttad från PHP..

251 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)