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...
Annonceindlæg fra QNAP
18. december 2005 - 15:48
#1
Hvad er det du gerne vil have som output?
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.
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.
18. december 2005 - 15:59
#4
Netop pga. at den tror at søndag, er starten på en ny uge...
18. december 2005 - 18:13
#5
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>"; }
19. december 2005 - 12:04
#7
Umiddel uden at tilføje koden, ville denne kode kun virke søndag... Kan det passe ? Evt. kan du du lave en kode der hedder noget med, if søndag, kør din kode. if not, kør min egen kode....
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
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.
19. december 2005 - 19:23
#10
Jeg har prøvet hmortensen's kode, og den virker altså glimragende ;)
20. december 2005 - 11:52
#11
Okay, jeg prøver. Undskyld html tegnene... Men det er den her computer jeg sider ved, der gør det...
20. december 2005 - 14:26
#12
Ok interasant, ved du hvor for den gør det?
20. december 2005 - 16:30
#13
Nej desærre.. Det undre også mig :S
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>"; }
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
20. december 2005 - 22:37
#16
Svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling