Kalender- reservierte Tage in Farbe ausgeben

sueheyla

Grünschnabel
Hallo!

Bin neu hier und bräuchte Eure Hilfe.
Mein Problem:
Ich habe eine Online-Zimmerreservierung für mich selbst als Übung gemacht. Alles Ok. Aber was ich nicht mehr so hinbekomme ist, dass ich
aus der Datenbank die anreise und abreise(date) in ein Kalender übertragen möchte was schon zu dieser Zeit ausgebucht ist die Tage in z.B. in rot und nicht gebuchte, frei Tage in weiss ausgibt.
Da bin ich am Ende meiner PHP.
Ich kann die Daten aus der DB (anreise/abreise) in eine Tabelle ausgeben, damit der User sehen kann wann frei ist aber ich möchte das gerne mit einem Kalender lösen.

Könnt Ihr mir dabei helfen?

z.B:daten aus der DB:
anreise 20.03.2003
abreise 03.04.2003
soll im Kalender dan die Tage in Rot ausgeben.

Hier das Code für Kalender.
DANKE...

<?php
//die SQL-Abrage:

$sql="SELECT DATE_FORMAT(g.anreise, '%d.%m.%Y') AS Anreise,DATE_FORMAT(g.abreise, '%d.%m.%Y') AS Abreise,z.zimmernr AS Zimmernr,z.zimmername AS Zimmer FROM gebucht g,zimmer z WHERE z.zimmernr=g.zimmernr GROUP BY kundennr ORDER BY g.anreise ASC";

//Kalender

define("TAG", (60*60*24) );
if ( ! checkdate( $monat, 1, $jahr ) )
{
$heute = getdate();
$monat = $heute[mon];
$jahr = $heute[year];
}
$beginn = mktime ( 0, 0, 0, $monat, 1, $jahr );
$erster = getdate($beginn);
?>

<form action="<? print $PHP_SELF ?>" method="post">

<select name="monat">
<?php
$monate = Array("Januar", "Februar", "Maerz", "April",
"Mai", "Juni", "Juli", "August", "September",
"Oktober", "November", "Dezember");

for ( $x=1; $x <= count( $monate ); $x++ )
{
print "\t<option value=\"$x\"";
print ($x == $monat)?" SELECTED":"";
print ">".$monate[$x-1]."\n";
}
?>
</select>
<select name="jahr">
<?php
for ( $x=2003; $x<2007; $x++ )
{
print "\t<option";
print ($x == $jahr)?" SELECTED":"";
print ">$x\n";
}
?>
</select>
<input type="submit" value="Abfragen">
</form>

<p>
<?php
$days = Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");

print "<TABLE BORDER ='1'>\n";
foreach ( $days as $day )
print "\t<td><b>$day</b></td>\n";


for ( $zaehler=0; $zaehler < (6*7); $zaehler++ )
{
$tag = getdate( $beginn );


if ( (($zaehler) % 7) == 0 )
{
if ( $tag[mon] != $monat )
break;
print "</tr><tr>\n";
}


if ( $zaehler < $erster[wday] || $tag[mon] != $monat )
{
print "\t<td><br></td>\n";
}

else
{
print "\t<td>$tag[mday]</td>\n";
$beginn += TAG;
}
}
print "</tr></table>";

mysql_close($conn);
?>
 
.... und was möchtes du fragen ? ...


wie soll eigendlich deine ausgabe aussehen?

du hast ja mehrere zimmer ....

für jedes zimmer ein eigenen kalender?

oder ein kalender und verschiedene farben für die einzelnen zimmer .....

oder ...
 
Sorry...

Nein, es soll nur ein Kalender sein.
Ich hatte oben die Sql-Abfrage so geschrieben, so wie ich die Tabelle ausgebe, wie ich es eigentlich nicht haben möchte.

Die SQL-Abfrage sollte dann so lauten:

$sql="SELECT DATE_FORMAT(anreise, '%d.%m.%Y') AS Anreise,DATE_FORMAT(abreise, '%d.%m.%Y') AS Abreise FROM gebucht";
 
...oder ein kalender und verschiedene farben für die einzelnen zimmer ..... gefällt mir ...

hast mich auf eine sehr gute Idee gebracht, die ich leider auch nicht lösen kann...
 
Zurück