Avatar billede thomasfricke Juniormester
18. december 2005 - 15:35 Der er 15 kommentarer og
1 løsning

Søndag = 1

Hej eksperter.

$first_day = date("d")-date("w", time())+1;
for($i = $first_day; $i < $first_day+5; $i++) {
  echo "<td WIDTH=20><div style=\"writing-mode: tb-rl\">";
  echo date("d.m.Y", mktime(0, 0, 0, date("m"), $i, date("Y")));
  echo "</div></td>";
}

Mit problem er at den siger at søndag, er første dag i ugen.. Dvs. når det er søndag, finder den frem til at, mandagen efter søndagen. Er den første mandag i ugen, men det er jo mandag før søndag den skal finde...

Løsningen må være noget med IF søndag...
Avatar billede hmortensen Nybegynder
18. december 2005 - 15:48 #1
Hvad er det du gerne vil have som output?
Avatar billede thomasfricke Juniormester
18. december 2005 - 15:55 #2
Hvis man gøre scriptet idag (18-12-2005) skal den kommer med disse output...

12.12.2005, 13.12.2005, 14.12.2005, 15.12.2005, 16.12.2005.
Avatar billede thomasfricke Juniormester
18. december 2005 - 15:55 #3
Men den udskriver disse...

19.12.2005, 20.12.2005, 21.12.2005, 22.12.2005, 23.12.2005.
Avatar billede thomasfricke Juniormester
18. december 2005 - 15:59 #4
Netop pga. at den tror at søndag, er starten på en ny uge...
Avatar billede morpheus Nybegynder
18. december 2005 - 18:13 #5
Har du kigget på eksemplet her?
http://dk2.php.net/manual/en/function.time.php
Avatar billede hmortensen Nybegynder
19. december 2005 - 09:27 #6
Det her skulle gerne virke:

$start = (date("w") == 1) ? time() : strtotime("last monday");

for ($x = 0; $x < 5; $x++)
{
    echo date("d-m-Y", strtotime("+{$x} days", $start))."<br>";
}
Avatar billede thomasfricke Juniormester
19. december 2005 - 12:04 #7
Umiddel uden at tilf&oslash;je koden, ville denne kode kun virke s&oslash;ndag... Kan det passe ?
Evt. kan du du lave en kode der hedder noget med, if s&oslash;ndag, k&oslash;r din kode. if not, k&oslash;r min egen kode....
Avatar billede ajenbo Nybegynder
19. december 2005 - 12:34 #8
Øhh du kan ikke skrive html tegn here på eksperten så det bliver bare besværligt at læse.

I php 5.1 kan du bruge N istedet for w for at få mandag til at være dag 1
Avatar billede hmortensen Nybegynder
19. december 2005 - 19:22 #9
Prøvet den kode jeg skrev?
Skulle gerne virke.

Som du kan se, er der en if sætning i min kode, som tjekker om det er mandag.
Avatar billede mnc Nybegynder
19. december 2005 - 19:23 #10
Jeg har prøvet hmortensen's kode, og den virker altså glimragende ;)
Avatar billede thomasfricke Juniormester
20. december 2005 - 11:52 #11
Okay, jeg pr&oslash;ver. Undskyld html tegnene... Men det er den her computer jeg sider ved, der g&oslash;r det...
Avatar billede ajenbo Nybegynder
20. december 2005 - 14:26 #12
Ok interasant, ved du hvor for den gør det?
Avatar billede thomasfricke Juniormester
20. december 2005 - 16:30 #13
Nej desærre.. Det undre også mig :S
Avatar billede thomasfricke Juniormester
20. december 2005 - 16:36 #14
Okay, det virker næsten for den kode jeg skrev...

time())+1;

I time kan jeg "+8" eks. går den en uge frem...
Hvordan gør jeg det med din kode...  ?

Prøvede dette:

$start = (date("w") == 1) ? time()+8 : strtotime("last monday");
for ($x = 0; $x < 5; $x++)
{
    echo date("d-m-Y", strtotime("+{$x} days", $start))."<br>";
}
Avatar billede thomasfricke Juniormester
20. december 2005 - 16:48 #15
okay, løste det selv...

$start = (date("w") == 1) ? time() : strtotime("last monday +7 day");

hmortensen: læg et svar :D
Avatar billede hmortensen Nybegynder
20. december 2005 - 22:37 #16
Svar :)
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