• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Wiederholung eines Events

seschi98

Neues Mitglied
Hallo liebe Community,

ich programmiere derzeit ein recht komplexes System in PHP, für das ich einmal einen Gedankenanstoß benötige:
(Ein wenig allgemein geschrieben und umformuliert, kommt aber aufs gleiche hinaus)

Es gibt mehrere Benutzer, die eine Party erstellen können (Event). Man kann sich registrieren und dann selber eine Party eröffnen oder nach Parties in der Umgebung suchen und diesen beitreten. Der Ersteller soll außerdem angeben können, ob er die Veranstaltung öfter anbietet (z.B. jede zweite Woche Freitags um 21:30). Falls er mal im Urlaub ist, soll es eine Ausnahmefunktion geben, sodass das Event aussetzt. Genauso sollen die Teilnehmer sagen können, ob sie einmal oder mehrmals kommen...

Ich hoffe ihr versteht, was ich meine :D

Auf jeden Fall ist meine Frage jetzt wie ich das am sinnvollsten in der MySQL-Datenbank umsetze. Für den Fall, dass es eine Rolle spielt: Ich nutze das PHP-Framework Laravel 5.

Vielen Dank schon einmal für die Hilfe, falls noch Fragen aufkommen, werde ich diese schnellstmöglich beantworten.

Viele Grüße

seschi98
 
Werbung:
Wenn Ich das richtig verstanden habe, kannst du doch einfach eine eine Spalte mit dem Namen "multiple" oder so ähnlich machen und die je nachdem auf true/false setzen (oder eine INT- Spalte mit 0/1). Wenn jetzt true gesetzt ist, wird das Event wiederholt (die Anzahl lässt sich in einer weiteren Spalte festlegen) wenn false, dann nicht.
Edit: Oder du legst true/false und die Menge der wiederholungen zusammen, in dem du eine Spalte "Wiederholungen" machst; Wenn die jetzt 0 ist, wird das Event nicht wiederholt, wenn nicht, dann halt so oft wie angegeben.
 
Zuletzt bearbeitet:
Vielen Dank für deine Antwort... So weit war ich auch schon :D Das Problem dass sich mir stellt ist, dass die Teilnehmer auch schon im Voraus sehen können sollen, wer zu einem späteren Termin dabei ist. Dazu müsste das ganze ja irgendwie vorgeneriert werden oder nicht? Ist vielleicht etwas schwierig zu umschreiben, vielleicht weißt du trotzdem was ich meine ^^
 
Werbung:
Dazu könntest du z.B. einen Kalender erstellen, in dem die einzelnen Events stehen und man kann einzeln für in Zukunft anstehende Events seine Teilnahme bestätigen oder immer teilnehmen. Außerdem könnte es Sinn machen, für mehrmals anstehende Events eine Seite zu machen, in der es nicht um ein bestimmtes Event geht, sondern um die Veranstaltungsserie im Allgemeinen, auf der Ich dann sehen kann, ob Freunde an einem Event teilnehmen, und wenn Ja, an welchem.
 
Hm, wäre eine Überlegung wert, vielen Dank ;)
Muss ich nur sehen wie ich das strukturiere...
Ich melde mich demnächst nochmal ^^
 
Wenn auch etwas spät hier mein Vorschlag für deine Datenbankstruktur:

Tabelle 1:
events
Tabelle 2: events_users (1 Event hat n-User)
Tabelle 3: events_repetitions (1 Event hat n-Wiederholungen)
Tabelle 4: events_repetitions_has_users (n-Wiederholungen haben m-User)
Tabelle 5: users

Die Tabellen users und events sollten ja soweit klar sein. Für einmalige Events und deren Teilnehmer würde ich die Tabelle events_users vorschlagen. Soll sich nun ein Event wiederholen werden diese Wiederholungen in events_repetitions gespeichert. Für die Teilnehmer an den Wiederholungen ist events_repetitions_has_users vorgesehen. Durch die Tabelle events_repetitions kann der Event-Ersteller jede Wiederholung einzeln bearbeiten, so dass zb. bestimmte Wiederholungen auch mal nicht stattfinden bzw. auch individuell verlegt werden können.

Übrigens: Wenn du schon Laravel nutzt, empfehle ich dir ein Auge auf die mitgelieferte Carbon-Bibliothek zu werfen, weil diese dir bei deinem Projekt sicherlich weiterhelfen kann ;)

Grüße
 
Werbung:
Vielen Dank für diesen Vorschlag, an so etwas hatte ich auch gedacht :) Allerdings war ich mir bei der genauen Strukturierung noch nicht ganz im Klaren... Carbon wird bereits verwendet, ich arbeite schon länger und bei mehreren Projekten mit Laravel.

Viele Grüße
 
Zurück
Oben