Als je wilt beginnen met het huidige weeknummer, dan moet je in je for() niet met $week = 1 beginnen, maar met $week=date('W').
Link gekopieerd
Ariën, bedankt voor je reactie,
Dat heb ik gedaan, dan begint hij inderdaad met de huidige weeknummer...
maar dan eindig hij bij 52, en begint hij niet meer opnieuw.
ik wil dat die na de 52 weer bij 1 begint
Link gekopieerd
Tja, weeknummers blijven getallen, en getallen blijven oplopen, dus ik denk dat je dan toch echt met twee for loopjes aan de slag moet gaan.
Link gekopieerd
Misschien zoiets? Zou een stuk netter kunnen uiteraard.
<?php
for ($currentWeek = date('W'), $week = $currentWeek; $week != $currentWeek - 1; $week++) {
if ($week > 52) {
$week = 1;
}
if ($week == $currentWeek){
echo ">>>";
}
echo "<button id='toggle$week' value='$week' type='button' class='btn btn-link'><h4>Week $week</h4></button>";
echo "<div id='content$week'>";
}
?>
Link gekopieerd
<?php
$date = time();
for($i = 0; $i < 52; $i++){
print(date('o\\WW',$date) . "\n");
$date = strtotime('+1 week',$date);
}
?>
Let op: soms heeft een jaar 53 weken (2020 weer).
Link gekopieerd
Geweldig!!!
Ben van Velzen, jou loop werkt, alleen week 63 wordt dan niet getoond?
Rob doemaarwat -> jou code is wat ik wil hebben
alleen hoe ga ik deze implementeren zodat die op mijn eigen code lijkt..
(ik ben nog maar een php beginner)
Link gekopieerd
<?php
$date = time();
for($i = 0; $i < 52; $i++){
$week = date('o\\WW',$date);
if(!$i) print('>>>'); //1st week = current week
echo "<button id='toggle$week' value='$week' type='button' class='btn btn-link'><h4>Week $week</h4></button>\n";
echo "<div id='content$week'>\n";
$date = strtotime('+1 week',$date);
}
?>
Link gekopieerd
Misschien zou een loop als volgt ook nog werken:
<?php
for ($i = time(); $i < strtotime('+1 year'); $i = strtotime('+1 week', $i)) {
$week = date('W', $i);
if ($week == date('W')){
echo ">>>";
}
echo "<button id='toggle$week' value='$week' type='button' class='btn btn-link'><h4>Week $week</h4></button>";
echo "<div id='content$week'>";
}
?>
Link gekopieerd
@Ben: sjiek :-)
Je hebt dan wel 2x een week 37 (deze week, en die van volgend jaar), en dus ook 2x een id='toggle37' (en dus een probleem). Daarom had ik het jaartal er nog even voor geplakt ('o\\WW' -> o = jaartal behorende bij het weeknr, \\W = letterlijke 'W', W = weeknummer).
Link gekopieerd
De <div> wordt nergens afgesloten.
Link gekopieerd