Avatar billede gulvlugt Nybegynder
02. januar 2008 - 21:06 Der er 10 kommentarer og
2 løsninger

ORDER BY, flere variabler?

Jeg har denne kode:

<?php
$hent_program = mysql_query("SELECT * FROM program ORDER BY dato,maaned DESC") or die(mysql_error());
while($vis_program = mysql_fetch_array($hent_program)) {
?>

Den skulle gerne vise efter dato, og så derefter måned. Men det komemr til at se således ud:

11 juni
16 januar
18 juni
23 januar
25 juni
30 januar
9 januar

Nogle ideer?
Avatar billede w13 Novice
02. januar 2008 - 21:25 #1
Ja, ang. datoerne, så er det fordi felterne i databasen er i formatet tekst. Det skal være gemt som tal.
Avatar billede gulvlugt Nybegynder
02. januar 2008 - 21:26 #2
Ja. Det er månederne også. De er blevet gemt som tal.

Hvad skal jeg gøre for at rette?
Avatar billede w13 Novice
02. januar 2008 - 21:28 #3
Jo, men er feltenes datatype også tal? Man kan godt gemme tal i et tekstfelt, og så vil problemet opstå, som du ser det.
Avatar billede gulvlugt Nybegynder
02. januar 2008 - 21:29 #4
Nej, felterne er varchar(225).
Avatar billede leif Seniormester
02. januar 2008 - 23:39 #5
Lav nu talfelter til INT og tekst felter til VARCHAR, der er jo nok en grund til at der er forskellige typer.

Et VARCHAR felt bliver sorteret venstrestillet, så det er korrekt at 11 kommer før 9 da 1 er lavere end 9


Et INT vil blive sorteret i korrekt rækkefølge så 11 er højere end 9
Avatar billede gulvlugt Nybegynder
03. januar 2008 - 19:32 #6
9 januar
11 juni
16 januar
18 juni
23 januar
25 juni
30 januar

Det hjalp jo ikke på månederne?
Avatar billede w13 Novice
03. januar 2008 - 19:34 #7
Brug i stedet:
ORDER BY maaned, dato
Avatar billede leif Seniormester
03. januar 2008 - 19:44 #8
Du skrev at den skulle vise efter dato og så måned, men som w13 skriver så skal de "vende" din order så den først sorterer på maaned og bagefter på dato.
Avatar billede gulvlugt Nybegynder
03. januar 2008 - 22:03 #9
Mange tak. Smid svar.
Avatar billede w13 Novice
03. januar 2008 - 22:06 #10
Skal vi dele, Leif?
Avatar billede leif Seniormester
03. januar 2008 - 23:05 #11
Ja, det synes jeg da.
Avatar billede gulvlugt Nybegynder
03. januar 2008 - 23:18 #12
ENDELIG svarede du :o)
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