20. november 2005 - 11:22
Der er
12 kommentarer og 1 løsning
Liste efter tal?
Hej, Jeg har denne kode: $s_vis = mysql_query("SELECT * FROM spilarkiv ORDER BY overall DESC LIMIT 5"); WHILE($vis = mysql_fetch_array($s_vis)) { Som lister nogle spil efter hvor høj score de har fået i overall. Men den tager bare ikke de højeste først:S F.eks. kommer 9 til at ligge over 10, og det samme gør 8,5 osv? Hvordan gør jeg så den lister det rigtigt?
Annonceindlæg fra itavis
20. november 2005 - 11:40
#1
$s_vis = mysql_query("SELECT * FROM spilarkiv ORDER BY overall ASC LIMIT 5");
20. november 2005 - 11:50
#2
Så lister den spillene den forkerte vej? Altså så dem der har fået 0 er først.
20. november 2005 - 11:52
#3
Så brug DESC i stedet for ASC
20. november 2005 - 11:59
#4
Det brugte jeg jo før der lister den 9,8,7,6,5,4,3,2,1 højere end 10?
20. november 2005 - 12:00
#5
hvis du bruger DESC burde alt være iorden.
20. november 2005 - 12:00
#6
Den sorterer sådan, fordi kolonnen er af teksttypen. Prøv at konvertere feltet til integer.. SELECT * FROM spilarkiv ORDER BY CONVERT(overall, UNSIGNED) DESC LIMIT 5
20. november 2005 - 12:10
#7
Det virkede plx:) svar?:)
20. november 2005 - 12:22
#8
Det virkede ikke helt alligevel?:S 10 kommer rigtig nok højest men se: 1. Resident Evil 10 2. Killer 9 3. Mario Kart: Double 9,5 4. Animal Crossing 8,5 5. Lord of the Rings: 8 9 kommer over 9,5:S
20. november 2005 - 12:43
#9
Nu prøvede jeg at ændre feltet til int(255) men så kan jeg kun have hele tal, så kan jeg ikke have 9,5 f.eks?
20. november 2005 - 12:51
#10
prøv at lave feltet til float og så skal du givetvis benytte punktum i stedet for komma
20. november 2005 - 13:09
#11
Satte den til float: 1. Resident Evil 10 2. Metroid Prime 10 3. Killer 9 4. Mario Kart: Double 9.5 5. Metroid Prime 2: E 9
20. november 2005 - 14:03
#12
Min fejl^^ havde glemt at fjerne CONVERT(overall, UNSIGNED) svar?:)
Nå tager dem selv så. Du må lige skrive hvis du vil have pointene =)
Vi tilbyder markedets bedste kurser inden for webudvikling