Oisko heittää neuvoa miten saisin halutun kuukauden viikot tulostettua?
Elikkäs tarkoitus olisi tämän tyyppinen:
vuosi 2006
----------------
Tammi: 52, 1, 2, 3, 4, 5
Helmi : 5, 6, 7, 8
jne...
Tuossa jotakin yrittän saada aikaiseksi!
Tutkipa tuolta:
https://www.ohjelmointiputka.net/keskustelu/9961-kuluvan-kuukauden-viikot
Tuota soveltamalla saa varmaan kaikilta kuukausilta viikot ylös.
Tuommosen saanut aikaan mutta apuja pitäisi saada!
Tuo kyllä tulostaa kuukaudet, mutta miten saisin että jokaisen kuukauden kohdalle tulisi
oikeat viikot?
<?PHP $vuosi=2003; $ekaa =date("W", mktime(0,0,0,1,1,$vuosi)); $tokaa =date("W", mktime(0,0,0,1,31,$vuosi)); $kuukaudet = array("Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"); echo "<table border=1>"; foreach($kuukaudet as $kuukausi){ echo "<tr><td>" .$kuukausi . "</td>"; for($i=$ekaa; $i<= $tokaa; $i++){ echo "<td>". $i . "</td>"; } } echo "</tr></table>"; ?>
Tällaisen sain muokattua ylläolevasta:
<?php $vuosi=2006; $ekaa =date("W", mktime(0,0,0,1,1,$vuosi)); $kuukaudet = array("Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"); echo "<table border=1>"; $j = 0; for($ind=0;$ind<count($kuukaudet);$ind++){ if($ind == 1) $tokaa =date("W", mktime(0,0,0,$ind+1,28,$vuosi)); else if ($ind == 4 || $ind == 6 || $ind == 9 || $ind == 11) $tokaa =date("W", mktime(0,0,0,$ind+1,30,$vuosi)); else $tokaa = date("W", mktime(0,0,0,$ind+1,31,$vuosi)); echo "<tr><td>" .$kuukaudet[$ind] . "</td>"; if($tokaa == 1 && $ind == 11) $tokaa = 53; if($ekaa >= 52 && $ind == 0) $ekaa = 1; for($i=$ekaa; $i<= $tokaa; $i++){ echo "<td>$i</td>"; } $ekaa = $tokaa; } echo "</tr></table>"; ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.