Avatar billede macho Praktikant
18. april 2006 - 23:07 Der er 14 kommentarer og
1 løsning

Vise data hvor dato er i dag eller senere

I min DB har jeg datoen skrevet som Julian Day. F.eks. er datoen 2. april 2006 defineret som "2453845" i min DB.

Spørgsmålet er nu, hvordan jeg får vist data hvor "startDato" er større end eller lig med dags dato??

Jeg har dette lige nu:

$result = mysql_query("SELECT * FROM tabel ORDER BY startDato ASC");

men det trækker jo samtlige data fra min DB...

??
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:10 #1
$result = mysql_query("SELECT * FROM tabel WHERE startDato>2453866 ORDER BY startDato ASC");

(Eller hvad tallet nu er for i dag)
Avatar billede macho Praktikant
18. april 2006 - 23:12 #2
Jo, den kunne jeg egentlig også godt regne ud, men i morgen skal det stadig være "dags dato", som så er et andet tal! For hver dag jeg trækker data ud, skal det være for i f.t. aktuel dags dato!
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:15 #3
Det er ikke så svært at regne Julian Day ud for en give en given dato  -  hvordan får du tallene ind i tabellen nu?  (Og hvorfor vælge Julian Day ... ?)
Avatar billede macho Praktikant
18. april 2006 - 23:17 #4
Det er fra www.easyphpcalendar.com hvor jeg indtaster data til en kalender direkte fra en formular.

Jeg skal så have trukket data ud til en anden visning, som easyphpcalendar ikke umiddelbart kan klare for mig!
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:20 #5
Ok, så der er en slags forklaring. Du skal over i PHP for at gøre det. Kig på http://dk.php.net/manual/da/function.juliantojd.php og sig om du skal have mere hjælp.
Avatar billede macho Praktikant
18. april 2006 - 23:23 #6
Jeg har kikket og jeg er bange for, at jeg må bede om lidt mere hjælp! ;-(
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:24 #7
Okay - det er ellers ikke så langhåret. Noget i retning af (utestet)

$result = mysql_query("SELECT * FROM tabel WHERE startDato>".juliantojd(date('n'),date('j'),date('Y'))." ORDER BY startDato ASC");
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:24 #8
Og så erstatter du nok > med >=
Avatar billede macho Praktikant
18. april 2006 - 23:29 #9
Hhmmm.. underligt!
Jeg har masser af data for resten af indeværende måned, men ved brug af ovenstående får jeg kun trukket data ud, for næste måned og fremefter! Ikke data for hvor startDato ligger i indeværende måned (senere end i dag).

Noget bud?
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:33 #10
Lille fejl fra min side. Du skal bruge http://dk.php.net/manual/da/function.gregoriantojd.php
Avatar billede macho Praktikant
18. april 2006 - 23:37 #11
Okay, kan du hjælpe med at få det ind i udtrækket af DB'en?
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:38 #12
Du skifter bare funktionsnavnet ud - resten er det samme. Bare lige for at slå fast at vi bruger den Gregorianske kalender i vore dage
Avatar billede macho Praktikant
18. april 2006 - 23:41 #13
Smart - og tusind tak for hjælpen. Den sidder lige i øjet nu! Giv mig et svar!
Avatar billede erikjacobsen Ekspert
18. april 2006 - 23:43 #14
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede macho Praktikant
18. april 2006 - 23:45 #15
Okay, jeg samler nu heller ikke, men så for at lukke gør jeg det!

Endnu en gang tak for hjælpen!
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