Hallo allerseits,
zunächst ein großes Lob für den Ersteller von diesem Kalender
(Termindatenbank in Kalenderblattdarstellung von Marco Trumtrar am 27.6.02,
08:46)
Jetzt meine Frage:
Ich habe ihn unter
http://tfedder-webdesign.de/baseportal/Spiel_und_Buch/spieleabende_lesungen/kalender/kalender
eingebunden.
1) Jetzt wird allerdings im Pulldown Menu nur das aktuelle Jahr angezeigt.
2) Wenn ich Dezember auswähle wird zwar der nächste Monat angezeigt, aber das nächste Jahr im Pulldown Menu immer noch nicht.
Wie kann ich dieses erreichen?
Vielen Dank
Hier der komplette Code:
#
# --- alte Einträge löschen ---
#
get "bis<jetzt", "termine";
while(get_next("termine"))
{
del "Id==$Id", "termine";
}
#
# -----------------------------
#
get "Id==* sort=-von", "termine"; # Holt den letzten Eintrag aus der Datenbank
my $sprung=0;
$heuteJahr = datum($jetzt,"Jahr");
$heuteMonat = datum($jetzt,"Monat");
$letzte = datum($von,"Jahr");
$aktSeite = "http://tfedder-webdesign.de/baseportal/Spiel_und_Buch/spieleabende_lesungen/kalender/kalender";
$fuellfarbe = "#999966"; # Farbe für die auffüllenden Zellen
$zellenfarbe = "#ffffcc"; # Farbe für die "Tages"-Zellen
$ueberschrift = "#cccc99"; # Farbe für die Tagesüberschrift
# Die Variablen werden belegt, falls über die URL keine Werte mitgegeben wurden
$monat = $heuteMonat if ($monat eq "");
$jahr = $heuteJahr if ($jahr eq "");
# Variablen werden für die Navigation zum Vormonat bzw. nachfolgenden Monat benötigt
$vorjahr = $jahr-1;
$nachjahr = $jahr+1;
$vormonat=$monat-1;
$nachmonat=$monat+1;
# Definition des 1. Tages des anzuzeigenden Monats
$startdatum="01.$monat.$jahr";
# Mit diesem Wochentag beginnt der Monat
$startwochentag = datum($startdatum,"Wochentag");
# In der Variablen Sprung wird die Anzahl der beginnenden leeren Zellen festgelegt
$sprung = 0 if ($startwochentag eq "Montag");
$sprung = 1 if ($startwochentag eq "Dienstag");
$sprung = 2 if ($startwochentag eq "Mittwoch");
$sprung = 3 if ($startwochentag eq "Donnerstag");
$sprung = 4 if ($startwochentag eq "Freitag");
$sprung = 5 if ($startwochentag eq "Samstag");
$sprung = 6 if ($startwochentag eq "Sonntag");
#
# --- Dropdown-Box für die Navigation
#
out "<table cellpadding=1 cellspacing=0 border=1 align=center>";
out "<tr><td colspan=7 align=center valign=top>";
out "<form action=$aktSeite method='post' enctype='multipart/form-data'><input type=hidden name='htx=' value='/tfedder-webdesign.de/Spiel_und_Buch/spieleabende_lesungen/kalender/kalender'><select name='monat~='>";
for (my $i=1; $i<=12; $i++)
{
$selectdatum = "01.$i.$jahr";
out "<option ";
out "selected " if ($i==$monat);
out "value='$i'>";
out datum($selectdatum,"Monatname");
}
out "</select> ";
out "<select name='jahr~='>";
# Für die Jahre
for (my $i=$heuteJahr; $i<=$letzte; $i++)
{
out "<option ";
out "selected " if ($i==$jahr);
out "value='$i'>$i";
}
out "</select> ";
out "<input type=submit value='Go'></form>";
out "</td></tr>";
out "<tr bgcolor=#999966><td colspan=7 id=aktueller_monat align=center valign=top>";
#
# --- Navigation zum vorherigen / nachfolgenden Monat
#
# Vormonat
if ($monat==1) # Gehe ich ein Jahr zurück?
{
out "<a href=$aktSeite&monat=12&jahr=$vorjahr>";
$vordatum="1.12.$vorjahr";
out datum($vordatum,"Monatname Jahr");
out "</a> ";
} else
{
out "<a href=$aktSeite&monat=$vormonat&jahr=$jahr title=\"Zum vorherigen Monat\">";
$vordatum="1.$vormonat.$jahr";
out datum($vordatum,"Monatname Jahr");
out "</a> ";
}
out datum($startdatum,"Monatname Jahr");
if ($monat==12) # Beginnt ein neues Jahr?
{
out " <a href=$aktSeite&monat=1&jahr=$nachjahr>";
$nachdatum="1.1.$nachjahr";
out datum($nachdatum,"Monatname Jahr");
out "</a>";
} else
{
out " <a href=$aktSeite&monat=$nachmonat&jahr=$jahr title=\"Zum nächsten Monat\">";
$nachdatum="1.$nachmonat.$jahr";
out datum($nachdatum,"Monatname Jahr");
out "</a>";
}
#
# --- Tabellenüberschrift
#
out "</td></tr>";
out "<tr align=center bgcolor=$ueberschrift><td id=termin align=center><b>Montag</b></td><td id=termin align=center><b>Dienstag</b></td><td id=termin align=center><b>Mittwoch</b></td><td id=termin align=center><b>Donnerstag</b></td><td id=termin align=center><b>Freitag</b></td><td id=termin align=center><b>Samstag</b></td><td id=termin align=center><b>Sonntag</b></td></tr>";
# $zaehler zählt die Anzahl der Zellen, nach jeder 7. beginnt eine neue Zeile
$zaehler=1;
while (datum($startdatum,"Monat") == $monat) # Geht jeden Tag durch
{
out "<tr>" if ($zaehler==1); # Beginnt eine neue Zeile
if ($sprung>0)
{
for (my $i=0; $i<$sprung; $i++) # Auffüllen der leeren Zellen
{
out "<td id=termin bgcolor=$fuellfarbe> </td>";
$zaehler++;
}
$sprung=0;
}
out "<td id=termin bgcolor=$zellenfarbe align=right valign=top><div style='float:right; weight:bold'>";
out (datum($startdatum,"Tag0")); # Fügt die Datumszahl in die Zelle
out "</div>";
out "<table valign=top><tr><td valign=top id=termin align=right>";
#
# --- Holen der Einträge für die Zelle
#
get "von==$startdatum|von<$startdatum&bis>=$startdatum sort=von", "termine";
while(get_next("termine"))
{
out "<div style='border-bottom-style:dashed; border-bottom-width:1px; border-bottom-color:black'><a href=http://tfedder-webdesign.de/baseportal/Spiel_und_Buch/spieleabende_lesungen/kalender/termine_einzeldarstellung&cmd=list&Id==$_id>$veranstaltung</a></div><br>";
}
out "</td></tr></table>";
out "</td>";
$zaehler++;
if ($zaehler==8) # Endet eine zeile?
{
out "</tr>";
$zaehler=1;
}
$startdatum=datum("$startdatum+1","intern");
}
if ($zaehler>1) # Letzte Zeile muß ggf. aufgefüllt werden
{
for (my $i=$zaehler; $i<=7; $i++)
{
out "<td id=termin bgcolor=$fuellfarbe> </td>";
}
out "</tr></table>";
} else
{
out "</table>";
}
out "<p align=center><a href=$aktSeite&monat=$heuteMonat&jahr=$heuteJahr>Zum aktuellen Monat Wechseln</a></p>";
#
# --- That´s it! ---------------------------------------------------------
#
</perl>