Nichtskönner
Hallo,
ich bin gerade dabei für die Internetseite einer Ferienwohnung einen Belegungskalender zu basteln. Der Nutzer wählt einen Monat aus und bekommt dann im Kalender angezeigt, an welchen Tagen die Ferienwohnung bereits belegt ist.
Ich habe aus ein paar Scripten es soweit angepasst, wie ich es brauche. Die Belegungszeiten sind in einer Datenbank gespeichert.
Mein Problem ist nun, dass immer nur der letzte Eintrag der Datenbank im Kalender angezeigt wird. Wenn ich mir meinen Code anschaue, dann ist das auch logisch, aber ich habe einfach keine Idee, wie ich es hinbekommen könnte, dass alle Belegungszeiten angezeigt werden.
Hat jemand einen Tipp für mich?
Datenbank:
Quellcode:
ich bin gerade dabei für die Internetseite einer Ferienwohnung einen Belegungskalender zu basteln. Der Nutzer wählt einen Monat aus und bekommt dann im Kalender angezeigt, an welchen Tagen die Ferienwohnung bereits belegt ist.
Ich habe aus ein paar Scripten es soweit angepasst, wie ich es brauche. Die Belegungszeiten sind in einer Datenbank gespeichert.
Mein Problem ist nun, dass immer nur der letzte Eintrag der Datenbank im Kalender angezeigt wird. Wenn ich mir meinen Code anschaue, dann ist das auch logisch, aber ich habe einfach keine Idee, wie ich es hinbekommen könnte, dass alle Belegungszeiten angezeigt werden.
Hat jemand einen Tipp für mich?
Datenbank:
Code:
`gaeste` (
`id` tinyint(3) NOT NULL,
`ankunft` int(10) NOT NULL,
`abreise` int(10) NOT NULL,
`storniert` binary(1) NOT NULL default '0',
PRIMARY KEY (`id`)
)
Quellcode:
Code:
if ($_POST[step]=="eins")
{
$monat=$_POST[mon];
$jahr=$_POST[jahr];
}
else
{
$monat=date("n");
$jahr=date("Y");
}
$erster=date("w", mktime(0,0,0,$monat,1,$jahr));
$insgesamt=date("t");
$heute=date("d");
include("Datenbank");
$abfrage = "SELECT * FROM gaeste";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$storniert = $row->storniert;
if ($storniert==0)
{
$ankunft = $row->ankunft;
$abreise = $row->abreise;
}
$belegttagstart=date("d",$ankunft);
$belegttagende=date("d",$abreise);
$belegtmonatstart=date("n",$ankunft);
$belegtmonatende=date("n",$abreise);
$belegtjahrstart=date("Y",$ankunft);
$belegtjahrende=date("Y",$abreise);
}
$monate=array("Januar","Februar","März","April","Mai",
"Juni","Juli","August", "September","Oktober",
"November","Dezember");
if($erster==0){$erster=7;}
echo '<table border="0" style="font-size:8pt; font-family:Verdana">';
echo '<th colspan="7" align="center" style="font-size:12pt; font-family:Arial; color:#ff9900;">'.$monate[$monat-1].' '.$jahr.'</th>';
echo '<tr><td style="color:#666666"><b>Mo</b></td><td style="color:#666666"><b>Di</b></td>';
echo '<td style="color:#666666"><b>Mi</b></td><td style="color:#666666"><b>Do</b></td>';
echo '<td style="color:#666666"><b>Fr</b></td><td style="color:#0000cc"><b>Sa</b></td>';
echo '<td style="color:#cc0000"><b>So</b></td></tr>';
echo "<tr>";
$i=1;
while($i<$erster){echo "<td></td>"; $i++;}
$i=1;
while($i<=$insgesamt)
{
$rest=($i+$erster-1)%7;
if($i==$heute && !isset($_POST[step]) || $i>=$belegttagstart && $i <=$belegttagende && $jahr==$belegtjahrstart && $monat==$belegtmonatstart){echo '<td style="font-size:8pt; font-family:Verdana; background:#ff0000;" align=center>';}
else{echo '<td style="font-size:8pt; font-family:Verdana" align=center>';}
if($i==$heute && !isset($_POST[step]) || $i>=$belegttagstart && $i <=$belegttagende && $jahr==$belegtjahrstart && $monat==$belegtmonatstart){echo "<span style='color:#ffffff;'>$i</span>";}
else if($rest==6){echo "<span style='color:#0000cc'>$i</span>";}
else if($rest==0){echo "<span style='color:#cc0000'>$i</span>";}
else{echo "$i";}
echo "</td>";
if($rest==0){echo "</tr><tr>";}
$i++;
}
echo "</tr>";
echo "</table>";