großes dynamisches Formular

Cmdr_Malan

Grünschnabel
Das Problem lässt sich vermutlich nicht allein mit PHP lösen, aber ich denke mal, dass dieser Bereich doch der richtig ist.

Ich habe ein Formular für die Planung von Personen für bestimmte Zeiten - eine Art Dienstplan also. Die Personen werden nach Gruppen sortiert aus einer MySQL-Datenbank genommen. Dabei handelt es sich um ca. 8 Gruppen und insgesamt ca. 200 Leute. Es sind pro Tag immer zwei Zeiten a zwei Teams a zwei Leute, also pro Tag immer 8 Personen.
Bisher habe ich es so gelöst, dass nach Auswahl einer Kalenderwoche diese mit allen sieben Tagen angezeigt wird. Für Planung wählt man für jeden zu besetzenden Platz im ersten Dropdownfeld die Gruppe. Dadurch wird das Formular automatisch (JS) abgeschickt und im zweiten Dropdownfeld eine Auswahl der zu dieser Gruppe gehörigen Personen angezeigt. Wenn das für alle zu besetzenden Plätze erfolgt ist, wird das Formular zum Speichern geschlossen.
Das funktioniert soweit auch ganz gut, allerdings kommen durch die Benutzer (nicht ganz unberechtigt) klagen, dass durch die Auswahl der Gruppe die Seite ja neu geladen wird und somit wieder zum Beginn der Seite springt. Da nicht alle Tage einer Woche auf eine Seite passen, muss der Benutzer wieder zu seiner Eingabepostion scrollen.
Nun würde ich das ganze gern so gestalten, dass die 2. Dropdownfelder zwar dynamisch je nach Auswahl im 1. Dropdownfeld angepasst werden, die Daten dazu aber aus einer MySql-Datenbank stammen und das ganze ohne refresh funktioniert.

Ich hoffe irgendjemand hat das soweit verstanden und hat dann auch noch eine Idee für mich.
 
Das Problem ist jedoch die Menge der Namen. Bei dieser Variante werden die Auswahlfelder bereits zu Beginn mit den Daten der Datenbank gefüllt. Ich hätte also für jeden Platz eine Liste von 200 Namen, da pro Tag acht Plätze zu belegen sind und das immer für eine Woche, wären das also 56 mal alle 200 Namen. Ich befürchte damit wird die generierte Seite sehr groß und dementsprechend langsam.
 
Das hab ich dann wohl falsch verstanden... ich dachte, es gäbe ein Formular, wo man auch die entsprechende Schicht, die man einträgt, auch ausgewählt wird und nicht für jede Schicht eine extra Auswahlmöglichkeit. Vielleicht kannst du da noch an Menge sparen, indem du auch die Schichtauswahl mit dazunimmst...
Allerdings weiß ich nicht, ob die Menustruktur so schön aussieht. Wenn es wie im zweiten Beispiel "nur" eine lange Liste ist, dann ist es natürlich auch nicht so schön...
 
Wieso ersetzt du nicht mit Javascript die Inhalte der Auswahlboxen, abhängig von der Auswahl in der ersten Auswahlbox?
 
Im Prinzip mache ich das ja, in Abhängigkeit von der ersten Auswahl wird per JS das Formular abgeschickt und durch PHP aus der Datenbank die zweite Auswahlbox erzeugt. Dabei erfolgt aber ein Seitenneuaufbau, den ich vermeiden will.
Wie kann ich dann nur mit JS die Daten für das zweite Auswahlfeld aus der Datenbank auslesen?
 
Ich würde sagen das ist ganz klar ein Fall für AJAX. Damit sendest du per JS eine Abfrage an eine PHP-Datei die wird ausgewertet und das Ergebnis zurückgeschickt und in ein HTML-Element mit einer speziellen ID geladen, ohne die Seite neu zuladen.
 
Ja klar kann ich das, du kannst dir die Funktionsweise von AJAX ganz einfach an dem Tutorial von Desert-Hacker mal anschauen, (Template-System mit AJAX-Modulen Teil 1 von 2). Mit dem Tutorial wird die Funktionsweise von AJAX eigentlich ganz toll vorgestellt. Probier es einfach mal aus. Der Javascript-Code bleibt dabei eigentlich bis auf ein paar kleine Veränderungen immer gleich. Ansonsten meldest du dich einfach nochmal.
 
Zurück