Olk Okenheld: mehrere neue Einträge in MySQL-Datenbank machen - Anzhal unbek.

Beitrag lesen

... und sehen wie genau aus (also das $_POST-Array)?

Wenn der Benutzer z.B. zwei Datensätze übergibt wäre der erste Datensatz:
$_POST['Name1']
$_POST['Vorname1']
$_POST['Anschrift1']
der zweite wäre
$_POST['Name2']
$_POST['Vorname2']
$_POST['Anschrift2']
usw...

Aufrufen? Du meinst, dass Du die Werte gerne so in die Datenbanktabelle eintragen möchtest? Das sollte laut MySQL-Dokumentation durchaus möglich sein ...

Ja, sorry, ich meine eintragen...

Die mit Post übergebenen Werte sind durchnummeriert wie im Beispiel, so dass es vielleicht über ein Schleife gehen könnte, allerdings komme ich im Moment einfach nicht drauf, mir fehlt immer wieder eine Kleinigkeit...

Hm ... wie: nummeriert? Ist das nicht ein bisschen sinnfrei? Um was für Daten handelt es sich überhaupt, was steckt fachlich dahinter, *was genau* willst Du *eigentlich*?

Im Eingabescript habe ich eine Schleife eingebunden, die an den allgemeinen Namen z.B. $Name eine Ziffer anhängt, eben beim ersten Datensatz ein 1, beim zweiten eine 2 usw. So dass alle Daten des ersten Datensatzes mit "1" enden und alle des zweiten mit "2"...

Hier das Script aus dem Formular:

						//Aufruf der Eingabemaske (for-Schleife)  
						for ($i = $_POST["Anzahl"]; $i > 0; $i--)  
						{  
							//Inhalt der for-Schleife  
							echo 'Bild ' . $Zahl . ':';  
							echo '<br><br>';  
  
							//Tag  
							echo 'Tag:';  
							echo "<br>";  
							echo '<SELECT NAME="Tag' . $Zahl . '" class="Auswahl">';  
								echo '<option value="1" selected="selected">1</option>';  
								echo '<option value="2">2</option>';  
								echo '<option value="3">3</option>';  
								echo '<option value="4">4</option>';  
								echo '<option value="5">5</option>';  
								echo '<option value="6">6</option>';  
								echo '<option value="7">7</option>';  
								echo '<option value="8">8</option>';  
								echo '<option value="9">9</option>';  
								echo '<option value="10">10</option>';  
								echo '<option value="11">11</option>';  
								echo '<option value="12">12</option>';  
								echo '<option value="13">13</option>';  
								echo '<option value="14">14</option>';  
								echo '<option value="0">NUR Sonstige</option>';  
								echo '<option value="99">NUR Betreuer</option>';  
							echo '</select>';  
							  
							echo "<br><br>";  
  
							//Gruppe  
							echo 'Gruppe:';  
							echo "<br>";  
							echo '<SELECT NAME="Gruppe' . $Zahl . '" class="Auswahl">';  
								echo '<option value="1" selected="selected">1</option>';  
								echo '<option value="2">2</option>';  
							echo '</select>';  
					  
							echo "<br><br>";  
					  
							//Bildnummer  
							echo 'Bildnummer (Dateiname)</span>:';  
							echo "<br>";  
							echo '<INPUT TYPE="text" NAME="Bildnummer' . $Zahl . '">';  
					  
							echo "<br><br>";  
					  
							//Titel  
							echo 'Titel (des Bildes):';  
							echo "<br>";  
							echo '<INPUT TYPE="text" NAME="Text' . $Zahl . '">';  
							  
							echo "<br><br>";  
  
							//Sonstige  
							echo 'Sonstige:';  
							echo "<br>";  
							echo '<SELECT NAME="Sonstige' . $Zahl . '" class="Auswahl">';  
								echo '<option value="0" selected="selected">nein</option>';  
								echo '<option value="1">ja</option>';  
							echo '</select>';  
							  
							echo "<br><br>";  
  
							//Format  
							echo 'Format:';  
							echo "<br>";  
							echo '<SELECT NAME="Format' . $Zahl . '" class="Auswahl">';  
								echo '<option value="0" selected="selected">quer</option>';  
								echo '<option value="1">hoch</option>';  
							echo '</select>';  
							  
							echo "<br><br>";  
							  
							//Freigabe  
							echo '<INPUT TYPE="checkbox" NAME="Freigabe' . $Zahl . '[]" size="30" value="1" checked="checked"> Bild freigeben';  
							  
							echo "<br><br>";  
							  
							echo '<hr>';  
							$Zahl++;  
							

Hier der Versuch mit einer starren Eintragung in die Datenbank, im auswertenden Script:

							$sql = "INSERT INTO ";  
							$sql .= "$MainTable ";  
							$sql .= "(Jahr, Tag, Gruppe, Bild, Text, Sonstige, Format, Freigabe) ";  
							$sql .= "VALUES ";  
							$sql .= "('" . $_POST["Jahr"] . "', '" . $_POST["Tag1"] . "', '" . $_POST["Gruppe1"] . "', '" . $_POST["Bildnummer1"] . "', '" . $_POST["Text1"] . "', '" . $_POST["Sonstige1"] . "', '" . $_POST["Format1"] . "', '" . $_POST["Freigabe1"] . "'),  
							('" . $_POST["Jahr"] . "', '" . $_POST["Tag2"] . "', '" . $_POST["Gruppe2"] . "', '" . $_POST["Bildnummer2"] . "', '" . $_POST["Text2"] . "', '" . $_POST["Sonstige2"] . "', '" . $_POST["Format2"] . "', '" . $_POST["Freigabe2"] . "'),  
							('" . $_POST["Jahr"] . "', '" . $_POST["Tag3"] . "', '" . $_POST["Gruppe3"] . "', '" . $_POST["Bildnummer3"] . "', '" . $_POST["Text3"] . "', '" . $_POST["Sonstige3"] . "', '" . $_POST["Format3"] . "', '" . $_POST["Freigabe3"] . "')";  
	

Bei diesem Versuch werden aber auch leere Zeilen in die Datenbank eingetragen.

Hoff es ist jetzt verständlich...