Jaroslav Jablonski: Dynamische Anzahl Formularfelder

Beitrag lesen

Jetzt soll das Formular aber um die Möglichkeit mehrere personen anzumelden erweitert werden. Es soll ein Selectfeld geben in dem man die anzahl der Personen auswählen kann. Je nach auswahl, soll sich das Formular dann dahin  ändern für jede Person die entsprechenden Daten einzutragen.

Ein Anwendungsfall für Javascript. Wenn das Selectfeld geändert wurde, lies den aktuellen Wert aus und lege die gewünschten Felder an. Quasi eine Funktion "FelderEinfuegen", die du so oft aifrufst, wie vom User gewünscht. Problem: was tust du, wenn zwischendrin die Auzswahl verändert wurde? Wird die Anzahl erhöht, gibt es kein Problem, wird sie aber verringert, dann mußt du dir was einfallen lassen, also welche Felder du wieder rausschmeißt.

Mir fehlt jetzt ein bisschen der Ansatz, wie man das am geschicktesten löst. Vor allem der Aufbau der Tabellenstruktur in der Db ist mir nicht ganz klar, da ich ja vorher nicht weiß wieviele Personen angemeldet werden.

Eine Tabelle "Personen", eine Tabelle "Veranstaltung" und eine Tabelle "Anmeldungen" sollten für den Anfang genügen. In "Personen" speicherst du die Daten der Leute, die angemeldet sind, in "Veranstaltungen" die Events udn in "Anmeldungen" wer für welche Veranstaltung angemeldet wurde. Um die Info reinzubringen, wer welche Leute unter seinem Namen angemeldet hat, fügst du einfach ein Feld "angemeldet_von" ein. Als Beispiel:

Lieschen Müller (PersonID sei 42) meldet Hans Wurst (PersonID sei 112) und Jaroslav Jablonski (PersonID sei 77) zum Gruppensex ein (EventID sei 666). Dann sähe das so ais:

Tabelle "Anmeldungen"

ID | EventID | PersonID | AngemeldetID
----+---------+----------+-------------
  1 |   666   |    42    |   NULL
  2 |   666   |   112    |    42
  3 |   666   |    77    |    42

Das Ganze könnte man noch um einen Zeitstempel ergänzen, um die Abfragemöglichkeiten zu erweitern. Aber das Prinzip ist klar, oder?

JJ