php/mysql erstelle x mal den Form tag!

DonDemf

Erfahrenes Mitglied
Hallo Leute,
ich bin gerade dabei eine Funktion zu schreiben, um Spielberichte einzutragen, u.a auch Torschützen!

Zur genaueren Beschreibung:

Es wird eine ?seite=1 geben auf welcher der User ein Form-Element findet mit folgenden Input Felder:

Tore Heim______ : Tore Gast_______
EigenTore Heim______ : eigen Tore Gast_______
Gelbekarten heim____ : Gelbekarten gast__
Gelbroekarte heim____ : Gelbrotekarte gast__
Rotekarte heim_____ : Rotekarte gast_____

gut! der user kann nun die Anzahl eintippen, also beispielweise tore Heim: 3

Wenn er jetzt auf absenden klickt kommt er zur ?seite=2

Hier komme ich an meine grenzen

Wie schaffe ich es jetzt, dass php mir hier einen form Tag generiert mit 3 input_feldern wo der Torschütze eingetragen wird(weil ja 3 tore gechossen wurden).

Vielen dank schonmal, und ich hoffe ihr habt meine problematik erfassen können!
 
Vermutlich brauchst du ein Konstrukt wie dieses:

PHP:
if (array_key_exists('seite', $_GET) && $_GET['seite'] == 2) {
  for ($i = 1; $i <= intval($_POST['ToreHeim']); $i++) {
    echo '<input type="text" name="TorschützenHeim[]" id="TorschützeHeim' . $i . '" />';
  }
}
 
Zuletzt bearbeitet:
Hey,
danke erstmal für die schnelle Hilfe. Leider weiß ich jetzt so mit dem code da oben nichts anzufangn. Ich bin zwar kein totaler Anfänger in Sachen PHP aber ich weiß nicht wie ich dieses array anlegen soll.

Sagen wir mal, das Input feld für die Heim Tore heißt name="heimtore" und das wird gespeichert ind er variabel $heimtore = $_POST["heimtore"];


wie komme ich dann nun weiter?
 
Im Prinzip steht es oben schon, nur dass du $_POST['ToreHeim'] mit $heimtore ersetzen musst. Die "Trickt" des Codes ist folgender:

Du hast die Anzahl der Tore bspw. in $heimtore stehen und erstellst dir eine Zählvariable (oben $i). Die Schleife (oben for) wird jetzt solange durchlaufen, wie die Zählvariable kleinergleich der Anzahl der Tore ist ($i <= intval($heimtore)). Für jeden Schleifendurchlauf wird je ein input-Feld ausgegeben (echo '...').
 
Ok, also ich stehe nun vor folgendem Problem:

Ich habe es geschafft, die Input zu generieren, aber jetzt zeigt der mir nicht das an, was ich will!
PHP:
$abfrageheimspieler = 'SELECT * FROM fifa_spieler WHERE verein = "'.$row["heim"].'"';
$ergebnisheimspieler = mysql_query($abfrageheimspieler);


for ($i = 1; $i <= intval($heimtore); $i++) {
   echo '<select name="torschutzheim[]" id="torschutzheim' . $i . '">';
	while($rowheim = mysql_fetch_object($ergebnis_heimspieler))
   {
   echo '<option>'.$rowheim->name.'</option> <br>';
   }
echo '</select>
		<br />
		'; }

Hintergrund:
ich habe eine tabelle mit allen Spielern der 1. Bundesliga und möchte diese nun im select_menü darstellen!

Aber der zeigt mir nur das leere select an?!
 
Zuletzt bearbeitet:
ok, nun habe ich also meine generierten Form-Elemente, also beispielweise 3x Torschützen! Die namen der elemente sind ja torschutzheim[] sprich sie werden in einem array gespeichert********?

wie trage ich den jetzt alle drei torschützen in die db ein?
 
Gehe mit einer foreach- oder for-Schleife durch das vom Formular übertragene Array und für sie per INSERT in die Datenbanktabelle ein die Du dafür vorgesehen hast.
 
Zurück