Avatar billede claus_larsen Nybegynder
05. august 2003 - 13:18 Der er 3 kommentarer og
1 løsning

Mere Dato bøvl - Sidste måned

Jeg har en månedlig begivenhed der hentes frem fra en database.

Jeg skal nu hente oplysninger om de sidste 12 måneders begivenheder.

For at jeg kan udvælge begivenheden fra databasen skal jeg bruge måned, og år.

Hvordan får jeg nemmest en array eller en løkke som udskriver måned og år for de sidste 12 måneder?

Har forsøgt mig med
$day = getdate(time()-86400*$days*30); Men når datoen kommer nær den første, så vil der ske et overlap i løkken da nogle måneder har 31 dage!


Tager vi datoen i dag skal jeg altså bruge:
05-08-2003
05-07-2003
05-06-2003
05-05-2003
05-04-2003
05-03-2003
05-02-2003
05-12-2002
05-11-2002
05-10-2002
05-09-2002
05-08-2002

Et hurtigt svar vil gøre mig glad!
Avatar billede claus_larsen Nybegynder
05. august 2003 - 13:19 #1
Sludder:
08-2003
07-2003
06-2003
05-2003
04-2003
03-2003
02-2003
12-2002
11-2002
10-2002
09-2002
08-2002
Avatar billede delwin Nybegynder
05. august 2003 - 13:31 #2
$monthsback    = 12;

for($i=0;$i<$monthsback;$i++) {
    echo date("m-Y",mktime(0,0,0,date("n")-$i,1,date("Y")))."<br>";
}


i det eksempel du er kommet med mangler du 01-2003, så det vil normalt kun køre tilbage til 09-2002
Avatar billede claus_larsen Nybegynder
05. august 2003 - 13:45 #3
Takker! Tror det er løsningen ...

Du får point så snar jeg lige har testet det
Avatar billede tipsen Nybegynder
05. august 2003 - 13:46 #4
Alternativt:

$monthsback = 12;
for($i=$monthsback-1;$i>=0;$i--) {
    echo date('m-Y', strtotime("-$i months")) . '<br>';
}
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