Zur Startseite Nachdem aus dem ersten Schritt die verfügbaren und freien Zimmern in einem Array zur Verfügung stehen, kann für die Reservierung irgendeine Zimmernummer aus dem Array herausgenommen und in die Datenbank eingetragen werden.
<html>
<head>
<title>Hotelbuchung</title>
</head>
<body>
<?
$db = mysql_connect('localhost', 'root');
mysql_query("use test", $db);
$anreise="2001-04-01";
$abreise="2001-04-04";
$gast = "Krüger";
$ary = zimmer_frei($anreise, $abreise);
if (sizeof($ary) > 0)
{
echo "Zimmer $ary[0] reservieren<br>\n";
zimmer_buchen($anreise, $abreise, $ary[0], $gast);
} else {
echo "Leider kein Zimmer frei<br>\n";
}
echo "<hr>\n";
$anreise="2001-04-02";
$abreise="2001-04-09";
$gast = "Schulte";
$ary = zimmer_frei($anreise, $abreise);
if (sizeof($ary) > 0)
{
echo "Zimmer $ary[0] reservieren<br>\n";
zimmer_buchen($anreise, $abreise, $ary[0], $gast);
} else {
echo "Leider kein Zimmer frei<br>\n";
}
echo "<hr>\n";
$sql = "SELECT * FROM zimmer WHERE status='reserviert'";
$result = mysql_query($sql);
echo "Liste der Reservierungen:<br>\n";
show_result($result);
function zimmer_buchen($an, $ab, $z, $g)
{
$sql = "INSERT INTO zimmer
(id, nummer, status, name, anreise, abreise)
VALUES
(0, $z, 'reserviert', '$g',
'$an', '$ab')";
$result = mysql_query($sql);
}
Hier wurde eine neue Funktion zimmer_buchen() eingeführt, die das gefundene freie Zimmer für den Gast gleich reserviert. Wenn Sie den Code ausprobieren, werden Sie feststellen, dass bei jedem Durchgang immer höhere Zimmernummern verwendet werden, solange bis kein freies Zimmer für den Termin mehr frei ist.
Ein Problem bleibt allerdings noch: Reserviert ein Gast das gefundene Zimmer, darf zwischenzeitlich kein anderer das gleiche tun. Es ist also notwendig, für den kurzen Zeitraum der Buchung den Buchungsvorgang für andere Benutzer zu sperren. Ausserdem sollte festgestellt werden, ob das ausgewählte Zimmer zu diesem Zeitpunkt noch frei ist, oder ob schon ein anderer die Reservierung durchgeführt hat.
Hinweis: Diesen Text und die enthaltenen Beispielprogramme und Skripte dürfen Sie zum Erlernen der einzelnen Techniken und auch als Grundlage für Ihre eigenen Projekte auf eigene Gefahr kostenlos nutzen.
Bitte denken Sie daran, dass alle Texte und Quellcodes trotzdem urheberrechtlich geschützt sind. Eine direkte Weitergabe ist nur nach ausdrücklicher schriftlicher Genehmigung gestattet.
