phpbar.de logo

Mailinglisten-Archive

[php] Datenbankstruktur Buchungssystem?

[php] Datenbankstruktur Buchungssystem?

Andreas Ahlenstorf lists at ahlenstorf.ch
Die Mai 15 15:29:18 CEST 2007


Am 15.05.2007 um 14:34 schrieb Henning Heil:

> - der Verlauf der Buchungsaktivität über die Zeit muss gespeichert
> werden (was war/ist vorgestern, heute, übermorgen, vor oder in n  
> Tagen)
> Kleinigkeiten:
> - verschiedene Stati für eine zu buchende Einheit müssen möglich sein
> (leicht, z.B. gebucht, frei, Eigennutzung etc.)
> - freilich irgend eine Benutzerverwaltung (gibt es fertige Sachen?)

Im Prinzip keine allzu grossartige Sache, wenn ich das richtig sehe.  
Im Prinzip hast du einfach ein paar Räume, die entweder frei oder  
besetzt sein können. Eigennutzung, geschlossen wg. Renovation usw.  
ist da nur Dekoration, denn Eigennutzung usw. ist auch nur eine  
Variation von besetzt. Also machst du eine Tabelle mit den Räumen (PK  
plus Name) und eine Tabelle mit den Buchungen (FK für Raum,  
Startzeit, Endzeit).

Wenn jemand buchen will, brauchst nur die Raumnummer, die Startzeit  
und die Endzeit zu nehmen und in der Tabelle für die Buchungen zu  
schauen, ob der Raum dann benutzt wird. Dürfte etwa so aussehen, wenn  
ich keinen gravierenden Fehler bei der Überlegung gemacht habe:

SELECT COUNT(*) FROM buchungen WHERE (startzeit >= 'deine_startzeit'  
and startzeit <= 'deine_endzeit') or (endzeit >= 'deine_startzeit'  
and endzeit <= 'deine_endzeit')

Ist Resultat > 0, ist der Raum besetzt.

Schon hast du deinen Buchungsplan und kannst aus diesen Informationen  
alles berechnen oder einen Kalender daraus zeichnen. Auch hast du so  
deine History, wenn du einfach alles in der Buchungstabelle drin  
lässt. Sachen wie die gemeinsame Buchung mehrerer Räume,  
Aktionspreise o.ä. ist einfach eine Frage der Präsentation.

Wenn man noch etwas Rechenzeit auf Dauer sparen will, kann man an den  
Formaten drehen, wie man Start- und Endzeit usw. speichert. Das ist  
aber nur Feintuning.

User Management geht z.B. mit PEAR Live User.

Gruss,
Andreas


php::bar PHP Wiki   -   Listenarchive