Problem mit Kalender umsetzung

Muckel1986

Erfahrenes Mitglied
Guten Morgen,

ich bin zurzeit dabei, einen Belegungsplan für ein Pfadfinderhaus und Gelände zu programmieren. Dabei lasse ich die Belegungsdaten wie auch anreise und abreise in einer txt speichern.

Ich habe nun auch schon einen Kalender in html aufgebaut, so wie er sein sollte: http://test.jurtenrunde.de/index.php?site=kalender

Mein Problem ist jetzt nicht der Aufbau dieser Tabelle, das geht ja einfach. Mein Problem besteht darin, wie ich es sage, dass die Tage (1. bis 30./31.) den Monaten richtig zugeordnet werden. Ich hoffe ihr vertseht gerade, was ich möchte. Und dann habe ich ja in der txt abgespeichert, wann das Haus / der Platz gemietet / reserviert ist - das müsste ich auch noch rein lesen lassen, damit mandas dann sieht.

Ich hoffe sehr, dass Ihr mir helfen könnt. Hoffe ihr habt ein paar ansätze.

Gruß Muckel
 
Hallo,

warum prüft du nicht einfach mit checkdate() ob es das Datum "gibt" / ob es einen 31. November gibt ... Wenn das ergebnis negativ ist, dann stellst du den tag nicht da.

Naja, vielleicht müsstet du dann mal die struktur der Text Datei posten.
Als Ansatz: Überprüfe (per if z.B.) ob das Datum belegt ist, dann änderst du halt die hintergrundfarbe der tabellenzelle auf rot.

Gruß Alex
 
WIe ich das mit checkdate() lösen kann, weiß ich nicht. Denn ich habe ja eine Zeile, in der die Tage 1 bis 31 sind. Ganz links sind untereinander die MOnate (Januar bis Dezember). Nun müsste ich in den Belegunszeilen erstmal ermitteln, wie viel tage der Monat hat. Wenn ich das weiß, kann ich dann ja so viele Zellen z.B. grün für nicht belegt makieren lassen.

Zu checkdate habe ich ein Beispiel nur gefunden:

PHP:
<?php
$monat=9;
$tag=23;
$jahr=2007;
$test = checkdate($monat,$tag,$jahr);
echo "Datumstest: $test";
?>

Da kommt aber nur eine 1 raus.

Hast du eine Idee, wie ich das ändern kann?
 
(PHP 4, PHP 5)

checkdate — Prüft ein Gregorianisches Datum auf Gültigkeit

Beschreibung:
bool checkdate ( int $Monat, int $Tag, int $Jahr )

Ist das angegebene Datum gültig, wird TRUE zurückgegeben, ansonsten FALSE. Prüft die Gültigkeit der angebenen Datumswerte. Ein Datum wird als gültig angesehen, wenn

das Jahr zwischen 1 und 32767 (inklusive) ist,
der Monat zwischen 1 und 12 (inklusive) ist und
der Tag innerhalb der erlaubten Werte des angegebenen Monats ist. SchaltJahre werden berücksichtigt.


Beispiel 370. checkdate() Beispiel
PHP:
<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>
Dieses Beispiel gibt folgendes aus:


bool(true)
bool(false)
 
Guten Tag,

das habe icha cuh an anderer Stelle schon gelesen gehabt. Habe nun versucht, zu bestimmen, erstmal, ob ein Monat 31 oder 30 Tage hat. Schaut wie folgt aus:

PHP:
<?php
$monat=9; //Angabe des Monat
$tag=31; //Angabe des Tages
$jahr=2007; //Angabe des Jahres

if checkdate($monat,$tag,$jahr) = 1 //Fragen ob der Monat 31 Tage hat
{
echo ("der Monat $monat hat 31 Tage."); //Wenn er 31 Tage hat, diese Ausage
}
echo ("der Monat $monat hat weniger als 31 Tage."); //Bei weniger Tagen diese aussage
?>

Aber wenn ich das ausführen will, bricht das Script ab. Wenn ich aber so die Monate bestimmen kann, die ja jedes Jahr gleich sind, dann habe ich eine Ansatz Idee.

Gruß und Danke
Muckel
 
Versuche es doch mal damit :)
PHP:
<?php
$monat=9; //Angabe des Monat
$tag=31; //Angabe des Tages
$jahr=2007; //Angabe des Jahres

$check = checkdate($monat,$tag,$jahr);

if ($check==1) //Fragen ob der Monat 31 Tage hat
{
        echo ("der Monat $monat hat 31 Tage."); //Wenn er 31 Tage hat, diese Ausage
}
else
{
        echo ("der Monat $monat hat weniger als 31 Tage."); //Bei weniger Tagen diese aussage
}
?>
 
Zurück