kalender skal vise uger i stedet for måned
Kære eksperterJeg har brug for lidt hjælp med dette skema. Følgende script viser en kalender, der genererer datoer for en måned (jeg har ikke medtaget koden for at vise næste måned mm., da det fylder en del).
Sagen er den, at jeg gerne vil have den til at vise en uge ad gangen - men kun hverdagene. Første kolonne skal altså være ugenr., derefter skal der være en kolonne til tidspunkter og derefter skal hverdagene følge.
I den foreløbige version er der blanke felter eksempelvis hvis den første er en onsdag - det er ønsket, at den ny udgave ignorerer, om der er tale om en ny måned. (altså fortløbende)
Jeg har set at man i php 4 kan bruge W (som skulle være en iso-standard for ugenummeret), men aner ikke i hvilken sammenhæng den skal bruges...
Jeg har sat pointtallet højt og håber derfor på gode pædagogiske forklaringer... (Helst ikke links til php.net osv. - dem kan jeg åbenbart ikke fatte...)
<?
define("ADAY", (60*60*24));
if (!checkdate($_POST[month], 1, $_POST[year])){
$nowArray=getdate();
$month=$nowArray['mon'];
$year=$nowArray['year'];
}else{
$month=$_POST['month'];
$year=$_POST['year'];
}
$start=mktime(12, 0, 0, $month, 1, $year);
$firstDayArray=getdate($start);
?>
<html>
<head>
<title>Kalender</title>
</head>
<body>
<h1>Skema</h1>
<?
$days=Array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");
echo "<table border=\"1\" cellpadding=\"5\">\n";
foreach ($days as $day){
echo "\t<td><b>$day</b></td>\n";
}
for ($count=0; $count<(6*7); $count++){
$dayArray=getdate($start);
if (($count % 7)==0){
if ($dayArray['mon'] != $month){
break;
}else{
echo "</tr><tr>\n";
}
}
if ($count < $firstDayArray['wday'] || $dayArray['mon'] != $month){
echo "\t<td><br></td>\n";
}else{
echo "\t<td>".$dayArray['mday']." </td>\n";
$start += ADAY;
}
}
echo "</tr></table>";
?>
</body>
</html>
