Forkerte månedsdage i kalender
Hejjeg har rettet et lille script til så det passede min grafik og ønsker. nu har jeg det problem at når jeg viser denne måned(idag), er NAVNET rigtigt, DATOEN idag rigtigt men antallet af dage i måneden er forrige måned. pt står der 8/12 December men der er kun 30 dage og når jeg skifter frem kan jeg se at Marts har 28 dage.
jeg tænker at det er dato_string den er gal, men jeg kan ikke lure hvad? jeg har forsøgt at indsætte en tom værdi først i arrayet, men så ser jeg to ens måneder næste år? og november forsvinder?
hvad hulen gør jeg forkert?
jeg vil med tiden lave et bookingsystem ud af det, er det nemmeste så at bygge videre med mysql herfra, eller finde noget andet fra bunden?
Magnus
kode:
<?php
$monthNames = Array("2Januar", "3Februar", "4Marts", "5April", "6Maj", "7Juni", "8Juli", "9August", "10September", "11Oktober", "12November", "13December");
?>
<?php
if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
if (!isset($_REQUEST["year"])) $_REQUEST["year"] = date("Y");
?>
<?php
$todaymonth = date("n");
$todayyear = date("Y");
$cMonth = $_REQUEST["month"];
$cYear = $_REQUEST["year"];
$prev_year = $cYear;
$next_year = $cYear;
$prev_month = $cMonth-1;
$next_month = $cMonth+1;
if ($prev_month == 0 ) {
$prev_month = 12;
$prev_year = $cYear - 1;
}
if ($next_month == 13 ) {
$next_month = 1;
$next_year = $cYear + 1;
}
?>
<table width="" border="0" cellspacing="2" cellpadding="5">
<tr>
<td colspan="7" bgcolor="#666666" style="color:#FFFFFF; text-align: center;"><strong><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></strong></td>
</tr>
<tr style="background-color: #666666; color: #FFFFFF; text-align: center;">
<td colspan="3" width="345" align="left"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" style="color:#FFFFFF"><strong><-Forrige</strong></a></td>
<td><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $todaymonth . "&year=" . $todayyear; ?>" style="color:#FFFFFF"><strong>I dag</strong></a></td>
<td colspan="3" width="345" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" style="color:#FFFFFF"><strong>Næste-></strong></a></td>
</tr>
<tr>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Man</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Tir</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Ons</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Tor</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Fre</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="14%"><strong>Lør</strong></td>
<td style="background-color: #666666; color: #FFFFFF; text-align: center; " width="16%"><strong>Søn</strong></td>
</tr>
<?php
$dato_string = mktime(0,0,0,$cMonth,0,$cYear);
$startdag = date("w",$dato_string);
$maxdage = date("t",$dato_string);
for( $i = 0 ; $i < $startdag; $i++ ){ print "<td> </td>\n";}
$aktuelle_position = $startdag;
for( $i = 1; $i <= $maxdage ; $i++){$bgcolor = "#ffffff"; $cColor = "#000080";
if(( $i == date("j")) && ($cMonth == date("n")) && ($cYear == date("Y"))){$bgcolor = "#EEAA00"; $cColor = "#ffffff";}
$aktuelle_position++;
print "<td style=\"text-align: center; background-color:" . $bgcolor . "; color:" . $cColor . "\">" . $i . "</td>\n";
if( $aktuelle_position == 7 ){print "</tr><tr>\n"; $aktuelle_position = 0;}
}
$slut_dag = 7-$aktuelle_position;
for( $i = 0 ; $i < $slut_dag ; $i++ )
print "<td style=\"background-color: #ffffff\"> </td>\n";
print "</tr>";
?>
</table>