Avatar billede topsite Nybegynder
08. juni 2003 - 16:15 Der er 13 kommentarer og
2 løsninger

ORDER by!

$query_search = "SELECT * FROM customers where navn like '%$search%' ORDER by hitstoday DESC"

Mit problem er at jeg i databasen har følgende felter:

navn              hitstoday
get2hits            25.7
coolius            6
KaZm                1

Problemet er bare at min ORDER by ikke helt viker som den skulle, overstående sider kommer ud i følgende rækkefølge

coolius            6
get2hits            25.7
KaZm                1

I følge min matmatiklærer er 25.7 større end 6 ?
hvad skyldes dette?
Avatar billede angelod Novice
08. juni 2003 - 16:18 #1
Hvilken type er 'hitstoday'?
Avatar billede topsite Nybegynder
08. juni 2003 - 16:19 #2
Desuden er min databasetype: hitstoday  varchar(250) 
Kan det have noget med det at gøre ?
Avatar billede topsite Nybegynder
08. juni 2003 - 16:20 #3
Hehe ;) Angelod ! - tankelæser?
Avatar billede angelod Novice
08. juni 2003 - 16:20 #4
Så er det da klart! Den sammenligner via ASCII når du bruger varchar. Du skal enten benytte et egentligt tal, eller præformatere tallene (f.eks. '00006.0', '00025.7', og '00001.0')
Avatar billede exp Juniormester
08. juni 2003 - 16:20 #5
det er nok punktummet... brug int istedet :-)
Avatar billede angelod Novice
08. juni 2003 - 16:22 #6
Ifølge ASCII er '6' højere end '2', derfor kommer det til at stå først.
Avatar billede ahv Nybegynder
08. juni 2003 - 16:24 #7
Feltypen double bruges normalt til kommatal.
Avatar billede ahv Nybegynder
08. juni 2003 - 16:24 #8
Avatar billede vesters Nybegynder
08. juni 2003 - 16:24 #9
Som angelod sikkert også vil ind på, lyder det som om den valgte type i kollonen hitstoday er forkert. Hvis du vil være sikker på, at den sorterer efter tal, skal kollonen være en int eller tinyint. Hvis kollonens type er text, vil den sortere alfabetisk, og her kommer "bogstavet" 6 før 2.
Avatar billede topsite Nybegynder
08. juni 2003 - 16:25 #10
Problemet er at nå jeg bruger INT kan mit tal ikke indeholde punktum
Avatar billede vesters Nybegynder
08. juni 2003 - 16:26 #11
Pis, overlap mens jeg skrev...
Avatar billede angelod Novice
08. juni 2003 - 16:26 #12
Hvilket er grunden til at du skal bruge 'Double'
Avatar billede topsite Nybegynder
08. juni 2003 - 16:28 #13
Jatak double virkede ;)

AHV og Angelod TAK ;)
Angelod lav et svar, jeg deler points mellem jer
Avatar billede angelod Novice
08. juni 2003 - 16:31 #14
Bliff! :D
Avatar billede tipsen Nybegynder
08. juni 2003 - 18:27 #15
Sålænge du ikke har behov for større præcision, vil jeg anbefale dig at bruge FLOAT da den halverer hukommelsesforbruget uden at gå på kompromis med den præcision du bruger!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester