Username:pz6j89
geschrieben am 06.07.2005 um 09:35 Uhr
|
Hallo zusammen.
ich verzweifle langsam an meinem Problem. Und zwar habe ich einen Kalender. Darin werden die ganzen Events des aktuellen Monats angezeigt.
Jetzt möchte ich aber 2 Links dazu anbieten mit dem man jeweils einen Monat vor und einen Monat zurück gehen kann.
Bisher habe ich diesen *lol*, aber irgendwie zeigt er immer noch den aktuellen Monat an...
Ich kopiere euch mal die komplette Funktion hier rein. Aber ich denke mal der Fehler liegt im oberen Bereich. Bei dem if()
<?php
function kalender()
{
if($PMonat!="")
{
$PTag = 1;
$unix_ts = mktime(0,0,0,"$PMonat","$PTag", date("Y"));
$thismonat = date('m', $unix_ts);
$lastmonat = $thismonat - 1;
$nextmonat = $thismonat + 1;
$FDoM = mktime(0,0,0,"$PMonat",1, date("Y"));
$kalender_monat = date('F', $FDoM);
// Anzahl Tage des Monats berechnen (date)
$NDoM = date('t', $FDoM);
// Zusatzinformationen zum gewählten Monat werden berechnet (getdate)
$IFoM = getdate($FDoM);
// Wochentag des ersten Tages des Montags berechnen
$DAoW = $IFoM['wday'];
// Aktuellen Tag auf 1 setzten
$currDay = 1;
$kalender_tag = date('d', $unix_ts);
$kalender_jahr = date('y', $unix_ts);
}
else
{
$unix_ts = mktime(0,0,0,"$PMonat","$PTag", date("Y"));
$thismonat = date("n");
$lastmonat = $thismonat - 1;
$nextmonat = $thismonat + 1;
$FDoM = mktime(0,0,0,date("m"),1, date("Y"));
$kalender_monat = date('F', $FDoM);
// Anzahl Tage des Monats berechnen (date)
$NDoM = date("t", $FDoM);
// Zusatzinformationen zum gewählten Monat werden berechnet (getdate)
$IFoM = getdate($FDoM);
// Wochentag des ersten Tages des Montags berechnen
$DAoW = $IFoM['wday'];
// Aktuellen Tag auf 1 setzten
$currDay = 1;
$kalender_tag = date("d");
$kalender_jahr = date("y");
}
switch($kalender_monat){
case "January": $kalender_monat="Januar"; break;
case "February": $kalender_monat="Februar"; break;
case "March": $kalender_monat="März"; break;
case "April": $kalender_monat="April"; break;
case "May": $kalender_monat="Mai"; break;
case "June": $kalender_monat="Juni"; break;
case "July": $kalender_monat="Juli"; break;
case "August": $kalender_monat="August"; break;
case "September": $kalender_monat="September"; break;
case "October": $kalender_monat="Oktober"; break;
case "November": $kalender_monat="November"; break;
case "December": $kalender_monat="Dezember"; break;
}
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="text-align:center">
<table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20">
<?php
echo '<a href="index.php?bereich=event&t='.$lastmonat.'&PMonat='.$lastmonat.'"><<</a>';
?>
</td>
<td><div align="center">
<?php
echo '<b>'.$kalender_monat.' '.$kalender_jahr.'</b>';
?>
</div></td>
<td width="20"><div align="right">
<?php
echo '<a href="index.php?bereich=event&t='.$nextmonat.'&PMonat='.$nextmonat.'">>></a>';
?>
</div></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="text-align:center"><font size="1">Mo</font></td>
<td style="text-align:center"><font size="1">Di</font></td>
<td style="text-align:center"><font size="1">Mi</font></td>
<td style="text-align:center"><font size="1">Do</font></td>
<td style="text-align:center"><font size="1">Fr</font></td>
<td style="text-align:center"><font size="1">Sa</font></td>
<td style="text-align:center"><font size="1">So</font></td>
</tr>
<tr>
<?php
// Die Kästchen vor dem ersten Tag des Monats werden erzeugt
if($DAoW > 0)
{
for($fdi = 1; $fdi < $DAoW; $fdi++)
{
echo '<td style="text-align:center"> </td>';
$currDay++;
}
}
else
{
for($fdi = 1; $fdi <= 6; $fdi++)
{
echo '<td style="text-align:center"> </td>';
$currDay++;
}
}
// Die Kästchen werden mit den Monatstagen erzeugt
for($di = 1; $di <= $NDoM; $di++)
{
if($currDay % 7 == 0)
{
if($kalender_tag != $di)
{
$akt_tag_kalender = "onmouseover=\"this.style.backgroundColor='#FBE9D3';\" onmouseout=\"this.style.backgroundColor='';\"";
}
else
{
$akt_tag_kalender = 'bgcolor="#F9C896"';
}
if($di < 10)
{
$di = '0'.$di.'';
}
if($PMonat!="")
{
$link_datum = mktime(0,0,0,"$PMonat","$di", date("Y"));
}
else
{
$link_datum = mktime(0,0,0,date("m"),"$di", date("Y"));
}
$freigabe = "ja";
$event_art = "party";
$sql_kal = mysql_query("SELECT id FROM dp_kalender WHERE freigabe='$freigabe' AND datum='$link_datum' AND art='$event_art'") or die (mysql_error());
$reihen_kal = mysql_num_rows($sql_kal);
if($reihen_kal==0)
{
$link2event = '<font size="1">'.$di.'</font>';
}
else
{
$link2event = '<a href="index.php?bereich=kalender&date_kal='.$link_datum.'"><b><font size="1" color="#FF0000">'.$di.'</font></b></a>';
}
?>
<td style="text-align:center" <?php echo $akt_tag_kalender; ?>><?php echo $link2event; ?></td>
</tr><tr>
<?php
$currDay++;
$DAoW = 0;
}
else
{
if($kalender_tag != $di)
{
$akt_tag_kalender = "onmouseover=\"this.style.backgroundColor='#FBE9D3';\" onmouseout=\"this.style.backgroundColor='';\"";
}
else
{
$akt_tag_kalender = 'bgcolor="#F9C896"';
}
if($di < 10)
{
$di = '0'.$di.'';
}
if($PMonat!="")
{
$link_datum = mktime(0,0,0,"$PMonat","$di", date("Y"));
}
else
{
$link_datum = mktime(0,0,0,date("m"),"$di", date("Y"));
}
$freigabe = "ja";
$event_art = "party";
$sql_kal = mysql_query("SELECT id FROM dp_kalender WHERE freigabe='$freigabe' AND datum='$link_datum' AND art='$event_art'") or die (mysql_error());
$reihen_kal = mysql_num_rows($sql_kal);
if($reihen_kal==0)
{
$link2event = '<font size="1">'.$di.'</font>';
}
else
{
$link2event = '<a href="index.php?bereich=kalender&date_kal='.$link_datum.'"><b><font size="1" color="#FF0000">'.$di.'</font></b></a>';
}
?>
<td style="text-align:center" <?php echo $akt_tag_kalender; ?>><?php echo $link2event; ?></td>
<?php
$currDay++;
$DAoW++;
}
}
If($DAoW != 7)
{
$remainDay = 7 - $DAoW;
for($ldi = 1; $ldi <= $remainDay; $ldi++)
{
echo '<td style="text-align:center"> </td>';
}
}
?>
</tr>
</table>
</td>
</tr>
</table>
<?php
}
?> |