martinhahn90
Grünschnabel
Servus,
ich habe vor, für meinen Squashverein ein Script zu programmieren, mit dem sich die Belegung der Squashplätze (Squashcourts) abfragen lässt bzw. angezeigt wird und sich Termine reservieren lassen.
Ich dachte mir zunächst, dass ich eine Buchung wie folgt abspeichere:
id | date | spieler1 | spieler2 | anfangszeit | endzeit | userid
1 | 25.03.2011 | martin fuchs | martin wolf | 09:30 | 10:30 | 8
Angezeigt auf der Seite würde dann z.B.:
08:00 - frei
08:30 - frei
09:00 - frei
09:30 - belegt
10:00 - belegt
10:30 - belegt
11:00 - frei
Allerdings weiß ich gar nicht, wie ich es hinbekommen soll, dass die Zeit 10:00 als belegt markiert wird. Anfangszeit und Endzeit kann ich auslesen.
Also dachte ich, mache ich für 08:00 die Prüfung: wenn zum datum von heute (25.03.2011) 08:00 in anfangszeit oder endzeit vorkommt, wird 08:00 als belegt markiert. Kommt 08:00 nicht vor, steht später dort: 08:00 - frei.
Das würde ich für jede Tabellenzeile so machen. Nur habe ich ja in der Tabelle lediglich den Anfangs- und Endwert stehen, nicht jedoch dazwischenliegende Zeiten.
Bei 10:00 käm also ein frei, obwohl diese Zeit ja mitgebucht wurde.
Mein Lösungsansatz:
Neben start- und endzeit gibt es noch eine gebuchte_uhrzeiten als Spalte in der Datenbanktabelle. Hier wird die startzeit und endzeit mit komma separiert eingetragen sowie alle zeiten ab startzeit + intervall (00:30) bis die endzeit erreicht ist.
In meinem Beispiel müsse dann in gebuchte_uhrzeiten stehen: 09:30, 10:30, 10:00
Nun ist meine Frage, wie ich das löse. Entweder genau auf die von mir beschriebene Art, da kenne ich die zu nutzenden Funktionen von PHP nicht - oder ob es nicht eine viel einfachere, praktikablere Lösung gibt.
Ich wäre euch wirklich dankbar, hättet ihr Lösungsansätze oder gar fertige Scripts für mich. Habe selber schon gesucht, allerdingsn ichts gescheites gefunden. Nur für die Reservierung von Ferienwohnungen, aber eben basierend auf Tagen und nicht auf halben Stunden-Intervallen.
Martin
ich habe vor, für meinen Squashverein ein Script zu programmieren, mit dem sich die Belegung der Squashplätze (Squashcourts) abfragen lässt bzw. angezeigt wird und sich Termine reservieren lassen.
Ich dachte mir zunächst, dass ich eine Buchung wie folgt abspeichere:
id | date | spieler1 | spieler2 | anfangszeit | endzeit | userid
1 | 25.03.2011 | martin fuchs | martin wolf | 09:30 | 10:30 | 8
Angezeigt auf der Seite würde dann z.B.:
08:00 - frei
08:30 - frei
09:00 - frei
09:30 - belegt
10:00 - belegt
10:30 - belegt
11:00 - frei
Allerdings weiß ich gar nicht, wie ich es hinbekommen soll, dass die Zeit 10:00 als belegt markiert wird. Anfangszeit und Endzeit kann ich auslesen.
Also dachte ich, mache ich für 08:00 die Prüfung: wenn zum datum von heute (25.03.2011) 08:00 in anfangszeit oder endzeit vorkommt, wird 08:00 als belegt markiert. Kommt 08:00 nicht vor, steht später dort: 08:00 - frei.
Das würde ich für jede Tabellenzeile so machen. Nur habe ich ja in der Tabelle lediglich den Anfangs- und Endwert stehen, nicht jedoch dazwischenliegende Zeiten.
Bei 10:00 käm also ein frei, obwohl diese Zeit ja mitgebucht wurde.
Mein Lösungsansatz:
Neben start- und endzeit gibt es noch eine gebuchte_uhrzeiten als Spalte in der Datenbanktabelle. Hier wird die startzeit und endzeit mit komma separiert eingetragen sowie alle zeiten ab startzeit + intervall (00:30) bis die endzeit erreicht ist.
In meinem Beispiel müsse dann in gebuchte_uhrzeiten stehen: 09:30, 10:30, 10:00
Nun ist meine Frage, wie ich das löse. Entweder genau auf die von mir beschriebene Art, da kenne ich die zu nutzenden Funktionen von PHP nicht - oder ob es nicht eine viel einfachere, praktikablere Lösung gibt.
Ich wäre euch wirklich dankbar, hättet ihr Lösungsansätze oder gar fertige Scripts für mich. Habe selber schon gesucht, allerdingsn ichts gescheites gefunden. Nur für die Reservierung von Ferienwohnungen, aber eben basierend auf Tagen und nicht auf halben Stunden-Intervallen.
Martin