Eintrag-Details: Hotelreservierung mit MySQL

04.02.2006

Hotelreservierung mit MySQL

Ein schönes Praxisbeispiel, dass ich früher mal in einer meiner MySQL-Schulungen verwendet habe:

Stellen Sie sich vor, Sie betreiben ein Hotel mit 15 Zimmern und möchten gern Ihren Kunden eine Reservierung im Internet anbieten. Die Vorteile liegen auf der Hand: Ihr Kunde kann sich die noch freien Zimmer für seinen Aufenthalt anzeigen lassen und so optimal planen. Bereits im Internet reservierte Zimmer werden bei der nächsten Anfrage nicht mehr angezeigt.

[Mehr:]

Das Programm soll hier in zwei Stufen entwickelt werden. In der ersten Stufe wird die notwendige Tabelle mit einigen Beispieldaten angelegt. Weiterhin wird in der ersten Stufe erläutert, wie man ein freies Zimmer im angegebenen Zeitraum findet:

<html>
<head>
       <title>Hotelbuchung</title>
</head>
<body>
<?
$db = mysql_connect('localhost', 'root');
mysql_query("use test", $db);

$sql = "drop table if exists zimmer";
mysql_query($sql);

$sql = "create table zimmer
  (id INT primary key auto_increment,
  nummer int,
  status ENUM('frei', 'belegt', 
   'reserviert', 'nicht verfügbar'),
  name VARCHAR(80),
  anreise DATE,
  abreise DATE)";
if (!mysql_query($sql)) 
   print ("Fehler: ".mysql_error()."<br>\n");

Code herunterladen

Zunächst wird hier die Tabelle angelegt. Um die Sache einfacher zu machen, soll zur Demonstration nur eine Tabelle verwendet werden, in der die verfügbaren Zimmer gespeichert werden.

for ($k = 1; $k <= 15; $k++)
{
    $sql = "insert into zimmer
      (id, nummer, status) values (0, $k, 'frei')";
    mysql_query($sql);
}

Code herunterladen

Um später die freien Zimmer abfragen zu können, wird für jedes möglicherweise verfügbare Zimmer ein Datensatz angelegt. Dieser "Dummy-Datensatz" dient später lediglich dazu, die verfügbaren Zimmer gegen die schon belegten zu vergleichen.

// Reservierung für Schmidt eintragen
$sql = "insert into zimmer
  (id, nummer, status, name, anreise, abreise)
  values
  (0,
  3,
  'reserviert',
  'Schmidt',
  '2001-04-10',
  '2001-04-15')";
mysql_query($sql);

// Reservierung für Müller eintragen
$sql = "insert into zimmer
  (id, nummer, status, name, anreise, abreise)
  values
  (0,
  5,
  'reserviert',
  'Müller',
  '2001-04-10',
  '2001-04-15')";
mysql_query($sql);

Code herunterladen

Seiten: 1 2 3 4

Permalink 04.02.2006 09:15:49, von Marian Email , 113 Wörter, 18621 mal angeschaut   German (DE) Kategorien: MySQL

Kommentare, Pingbacks:

Kommentar von: sunny [Besucher]
Wo finde ich die Funktion zimmer_frei()??? Hab mir das Beispiel nun schon mehrere male durchgelesen jedoch finde ich die Funktion nicht. Warum ist bei diesem Beispiel kein Download einer gesamten ZIP möglich sondern nur die Codeteile?!?!??!
Permalink 11.10.2007 @ 12:31
Kommentar von: Besucher [Besucher]
danke fuer dein Toturial,

aber ich bemerkungen:

wo ist show_rersult() funktion?

wo ist anfang von zimmer_frei() und wo ende ist ?

Prinzip ist gut gedeutet, aber Pratik braucht noch was.
danke



Permalink 30.09.2009 @ 14:36

Kommentar schreiben:

Ihre E-Mail-Adresse wird nicht angezeigt.
Ihre URL wird angezeigt.
Antispam-Feld
Erlaubte XHTML Tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
Optionen:
 
(Zeilenumbrüche werden zu <br />)
(Setze Cookies für Name, eMail & URL)

Das bin ich bei der Arbeit

Werbung

Online-Kurse

  • Bequem PHP lernen bei freier Zeiteinteilung von zuhause
  • Der Onlinekurs den jeder versteht
  • www.lernpilot.de/wbt/

Konnte ich helfen?

mehr Werbung