PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formular n-mal aufrufen


Eibenger
25.01.2012, 19:12:31
Hallo,
- diese Frage habe ich schon einmal gestellt, hoffe jetzt auf eine kleine Hilfestellung -

ich möchte für die Anmeldung von Vereinen zu einer Sportveranstaltung die Teilnehmer jeweils der Vereine erfassen. Also sollte je nach Anzahl der Teilnehmer (mind. 3 bis max.10) nach Eingabe des Vereinsnamens und dieser Zahl, z.B. 7 anschließend ein neues Formular (mittels session auf neuer Seite, z.b. teilnehmer.php) z.B. 7 mal in einer Schleife aufgerufen werden und alle diese 7 Teilnehmerdaten wie Name, Vorname, Disziplin, sex, geb etc. erfasst und alle in die DB geschrieben werden. Ich denke da an ein Array und benötige dazu einen Denkanstoss. Wäre nett, wenn mir geholfen werden könnte.

vt1816
25.01.2012, 19:35:44
Hallo und willkommen hier im Forum.


Wenn es Dir keine Mühe bereitet, ein normales Formular mit allen benötigten Angaben (Name, Vorname, Disziplin, sex, geb etc.) für einen Teilnehmer zu erstellen, dann sollte es Dir auch nicht schwer fallen in Abhängigkeit von der Anzahl der Teilnehmen ein Formular mit der entprechendne Anzahl von benötigen Feldern * Anzahl der Teilnehmer zu erstellen.

Mit der Anzahl der Teilnehmer (zum Beispiel 7) wird auf Deiner zweiten Seite (teilnehmer.php) der Block für die Eingabe der Teilnehmerdaten in diesem Fall sieben mal hinter einander angezeigt. Dann gehts es ans ausfüllen.

Die eigentliche Verarbeitung der Eingaben erfolgt dann im nächtsen Schritt. Entsprechend der Anzahl der Teilnehmer werden dann die Datensätze (hier sieben) an die Datenbanktabelle angefügt.

Noch Fragen? Wenn ja, lesen wir Dich hier wieder ...

Eibenger
25.01.2012, 20:15:39
Vielen Dank für deine Antwort.
Wie ich das Formular n-mal aufrufe ist mir schon klar:
z.B.
<form method="post" action="teilnehmer.php">
<?php
$anzahl = n;
for($i=0;$i<$anzahl;$i++){
echo '

Name: <input type="text" name="name'.$i.'" />
</p>';
}
?>
</form>

Und die Zahl n übernehme ich aus der session- Variable der ersten Seite.
In diesem Beispiel habe ich mir mal die Eingaben auf teilnehmer.php anzeigen lassen.
Womit ich nicht klar komme - vielleicht fehlt mir hier nur der entsprechende gedankliche "Schubs" - ist, wie ich nach Eingabe des Vereins auf der ersten Seite und mit Wechsel auf Seite 2 und damit verbundener Übergabe der sessionvariable 'vereinsname' die Zuordnung der z.B. 5 Teilnehmer dem Laufverein vornehme und sie dann über submit in die DB mit den Tabellen 'verein' und 'teilnehmer' eintrage. Ich habe mir vorgestellt, das über Arrays zu machen mit z.B. $laeufer[verein][n]. Wie kommen nun die aber die richtigen Zuordnungen in den beiden Tabellen der DB zustande (primär/fremdschl.) Oder kurz gesagt, wie erfolgt die Übernahme des Vereinsnamens in die Tabelle 'verein' und die Namen in die Tabelle 'teilnehmer' aus der form heraus?
Geht vielleicht ein bisserl durch einander in meinen Gedankensprüngen, bitte nicht übel nehmen.

Hier ein Tabellenausdruck, wobei ich dem Verein 5 Namen zugeordnet habe.

Verein sex Name 1 Name 2 Name 3 Name 4 Name 5
BUK – Laufgazellen Frauen Annett Fixxxxx Annett Schxxxx Kathrin Meuxxx Stefanie Gexxx Elisabeth Göxxx

vt1816
25.01.2012, 21:10:44
for($i=0;$i<$anzahl;$i++){
echo 'Name: <input type="text" name="name'.$i.'" /></p>';
}



<?php
...

for($i=0;$i<$anzahl;$i++){
echo 'Name: <input type="text" name="name[]" /></p>';
}

?>

sollte Dich voran bringen.

Schau Dir mal das Ergebnis in teilnehmer.php so an:

var_dump($_POST)

Dann kannst Du daraus die benötigten Datensätze erzeugen:

sql = "INSERT INTO verein ...";
for($i=0;$i<$anzahl;$i++)
{
sql = "INSERT INTO TblName ... $_POST['name'][$i] ";

}
** ungetestet - als Denkanstoss gedacht!! **

Eibenger
26.01.2012, 14:05:51
DANKE!
Hat geholfen.

LG

Gerhard