Avatar billede minau Nybegynder
22. juni 2004 - 00:09 Der er 9 kommentarer og
1 løsning

15-06-2004 format og datosortering

hej

hvis jeg har en database hvor jeg har et datoformat 15-06-2004 hvordan får jeg så nemmest sorteret mine records evter dato (det bliver jo efter dat hvis jeg bare sorterer dem.

det er et varchar felt.

ok - det er nok lidt klundet. Måske andre lige har et fif til hvordan jeg skla hhåndterer datoformat. det er brugeren der skla skrive datoen. Mon der er et script hvor man får en lille kalender frem man lige kan trykke på og så parser den et datoformat til et inputfelt?
Avatar billede knudx Nybegynder
22. juni 2004 - 00:22 #1
Du skal bruge et DATE felt i stedet for VARCHAR, og formatet skal være YYYY-MM-DD (dvs dit ex bliver til 2004-06-15,) for så er det 100 gange lettere at styre, sortere, sammenligne datoer etc.

Mht pop-up kalender, må det være muligt at finde et sådan script, som er lige til at gå til... googl 'javascript popup calendar' og se hvad der sker.
Avatar billede minau Nybegynder
22. juni 2004 - 00:24 #2
hmm - ja frygtede jeg nok (ja - jeg er vist doven)

google på det er jeg skam i gang med (men det kunne jo være der liige var én der sad med en god en :-)
Avatar billede vallemanden Nybegynder
22. juni 2004 - 07:22 #3
bruger du MySQL via web?
Avatar billede arne_v Ekspert
22. juni 2004 - 07:31 #4
Det bedste ville være at ændre feltet til DATETIME.

Som workaround kan du prøve:

ORDER BY CONCAT(SUBSTRING(felt,7,4),SUBSTRING(felt,4,2),SUBSTRING(felt,1,2))
Avatar billede minau Nybegynder
22. juni 2004 - 10:19 #5
vallemanden --> Det er til php

Arne_v --> prøver mig lige frem
Avatar billede b4r0n3n Nybegynder
22. juni 2004 - 10:44 #6
jeg er begyndt at bruge php's time() og mktime() funktioner til datoer. På den måde kan man også nemt manipulere med datoen bagefter, da det bliver gemt i et unix timestamp.
Jeg får så mine brugere til at vælge en dato via en <select> drop-down dims, og så laver jeg inputtet om til unix timestamp med mktime(). Det kan godt være der findes en nemmere metode, men jeg kan godt lide min :)
Avatar billede b4r0n3n Nybegynder
22. juni 2004 - 10:47 #7
F.eks. så indeholder databasen en dato i denne format: 1087805664
Og med php's date() funktion, kan jeg så vise datoen lige præcis som jeg har lyst til.

(date("d/m-Y H:i:s",time()) = 22/06-2004 10:50:41)
Avatar billede minau Nybegynder
26. juni 2004 - 00:49 #8
b4r0n3n --> stamp er godt alternativ :-)

Arne_V --> smid svar
Avatar billede arne_v Ekspert
26. juni 2004 - 09:38 #9
svar
Avatar billede minau Nybegynder
18. august 2004 - 11:35 #10
Beklager svartid - var lige ude og bestige mont blanc c",)
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
Computerworld tilbyder specialiserede kurser i database-management

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