Mailinglisten-Archive |
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