Beste mensen,

Ik ben bezig met een systeem dat de netjes de dagen van maandag t/m zondag onder elkaar moet lijsten. Dus, als het vandaag maandag is, dat de data's van dinsdag,woensdag,donderdag,vrijdag,zaterdag,zondag berekend worden. Is het vandaag dinsdag, dan moet maandag,woensdag,donderdag,vrijdag,zaterdag,zondag berekend worden...

Iemand die daarmee kan helpen..?

Bedankt,

Jeroen

EDIT:

Scenarioschets:

Het is vandaag zondag, aan de hand daarvan moet Maandag berekend worden, maar ook dinsdag,woensdag,donderdag,vrijdag,zaterdag. Zondag hebben we al, dus die hoeft niet.

Ik zou dit kunnen doen d.m.v. +1 en -1 etc. Maar dat lijkt me niet de netste methode...
wat je zou kunnen doen, is php ff laten opzoeken wat het weeknummer van deze week is. en vervolgens die week laten uitschrijven van zondag t/m zaterdag. en dat de datum van vandaag ff highlighten...

<?php
$week=array(Sun=>6,Mon=>1,Tue=>1,Wed=>1,Thu=>1,Fri=>1,Sat=>1); //geen idee waarom alleen zondag 6 is??
$offset=ABS(date("w")-$week[date("D")]);
$laatstemaandag=date("d m Y",strtotime ("-".$offset." day"));
for($i=0;$i<=6;$i++){
$verschil=$i-$offset;
if($verschil<0){ //php kan niet +-
$date=strtotime ($verschil." day");
}else{
$date=strtotime ("+".$verschil." day");
}
if(date("D")==Date("D",$date)){
echo'<b>'.Date("D d m Y",$date).'</b><br>';
}else{
echo Date("D d m Y",$date).'<br>';
}
}
?>
Het is vrij eenvoudig:
<?php
for($i = 1; $i < 7; $i++)
{
echo date('l', mktime(0,0,0,date('n'),date('d')+$i,date('Y'))).'<br>';
}
?>

ps. Nu heb ze natuurlijk wel in het engels, maar daar kun je zelf weer even een functie voor schrijven om dat op te lossen.
@blanche: wat ga jij doen als de dag van vandaag 30 is? dan berekent uw script dagen 30 tot 37 van deze maand ... :-S
Nope, dat is niet waar. De functie mktime() ondervangt dat probleem aangezien er met een timestamp gewerkt wordt.

Draai volgend scriptje maar eens, dan zie je dat het werkt:
<?php
for($i = 1; $i < 7; $i++)
{
echo date('d-m-Y', mktime(0,0,0,6,28+$i,2007)).'<br>';
}
?>
@blance, de vraag was om alle weken op maandag te laten beginnen...
Oeps niet helemaal goed gelezen. Maar dan zou het zoiets worden:
<?php
$time = strtotime('last monday');
$weekday = date('N');

for($i = 0; $i < 7; $i++)
{
$current = $i + 1;

if($current != $weekday)
{
echo date('l', mktime(0, 0, 0, date('n', $time), date('d', $time)+$i, date('Y', $time))).'<br>';
}
}
?>

Reageren