phpbar.de logo

Mailinglisten-Archive

[php] Kalenderabfrage

[php] Kalenderabfrage

Stephan info at cartoweb.de
Die Feb 8 09:12:49 CET 2005


Hallo Liste !

Momentan programmiere ich einen Belegungskalender für ein kleines
Hotel.
Dieser Kalender greift auf Buchungsdatensätze in einer Tabelle
'zimmerbelegung' zurück.
Die Tabelle 'zimmerbelegung' ist wie folgt aufgebaut.

---------------------------------
| id | zimmernummer | von | bis |
---------------------------------

Die Felder 'id' und 'zimmernummer' sind integer.
Die Felder 'von' und 'bis' beinhalten einen Unix - Zeitstempel.

Folgendes Problem habe ich.
Um festzustellen, wie ein Zimmer im betreffenden Kalendermonat belegt
ist habe ich folgende Abfrage.

// folgende Zimmer stehen zur Verfügung
$zimmer[0] = 101;
$zimmer[1] = 102;
$zimmer[2] = 103;

...

// Anzahl der Tage im Monat
$anzahl = date("t", mktime(0, 0, 0, 2, 1, 2005));

// Abfrage der Zimmerbelegung
for($i = 0; $i < count($zimmer); $i++){
  for($j = 1; $j <= $anzahl; $j++ ){
    $jetzt = mktime(0,0,0,2,$j,2005);
    $sql = "select count(id) as treffer from zimmerbelegung where von
< '".$jetzt."' and bis > '".$jetzt."' and zimmernummer =
'".$zimmer[$i]."'";
  }
}

Die Abfrage bezieht sich in diesem Beispiel nur auf den laufenden
Monat. Das Problem besteht darin das für jedes Zimmer und jeder Tag
des Monats eine Abfrage an die Datenbank generiert wird.
Also bei 30 Zimmern und 30 Kalendertagen des Monats immerhin 900
Abfragen.
Gibt es eine elegantere Möglichkeit um diese Abfrage zu realisieren.

m.f.G.

Stephan



---
avast! Antivirus: Ausgehende Nachricht sauber.
Virus-Datenbank (VPS): 0505-2, 05.02.2005
Getestet um: 08.02.2005 09:12:54
avast! - copyright (c) 2000-2004 ALWIL Software.
http://www.avast.com




php::bar PHP Wiki   -   Listenarchive