Mehrere Datensätze in MySQL einfügen

Mavericklp

Erfahrenes Mitglied
Moin, Moin ich bräuchte mal wieder einen Tipp von euch...
wie kann ich mehrere Datensätze in MySQL einfügen

ich habe ein Formular dort sollen 10 Felder ausgefällt werden und dann in MySQL gespeichert werden.
Bis hierhin ist es kein Problem nun würde ich das aber gerne so machen, das 5 Datensätze gleichzeitig eingefügt werden können.

D.h. Benutzer1 hat 3 fahrzeuge füllt also 30 Felder aus klickt auf speichern und die Daten werden alle gespeichert.
Benutzer2 hat 5 Fahrzeuge und füllt somit 50 Felder aus klickt auf speichern und die Daten werden alle gespeichert.
Benutzer3 hat 1 Fahrzeug und füllt 10 Felder aus klickt auf speichern und die Daten werden alle gespeichert.

Jetzt weis ich nciht genau wie ich PHP sagen soll, das es nur die Formulare in die DB schreibt die ausgewählt oder ausgefüllt sind momentan sind all diese sachen in einem Formular
 
Mir fällt als wilde Idee darauf ein, ein Formular für EIN Fahrzeug anzuzeigen und bei Bedarf per JavaScript sämtliche Felder nochmal leer darunter einzufügen.
Wenn dann die Formularfelder mit Namen wie: "fahrzeug[0][leistung]" betitelt und dabei der Zähler hochschraubt wird, sollte doch ein Array "fahrzeug" mit X Unterarrys - nämlich den Fahrzeugen - im Skript ankommen.

OK, Nachteil ist hierbei die Abhängigkeit von JS. Andernfalls vorher auf Seite 'A' abfragen, wie viele Fahrzeuge eingefügt werden sollen und dann per PHP die Seite 'B' mit X Formularen bereitstellen.

Zur allgemeinen Prüfung, ob ein Formualarelement ausgefüllt wurde, reicht bei INPUTS ein:
PHP:
if(!empty($_POST['fahrzeug_leistung']))
{
	// TODO store 'fahrzeug_leistung' in DB
}
 
Erst einmal ein Danke für die Hilfe...

Das mit dem Java fällt flach ,weil ich bis eben noch nicht einmal wusste das sowas überhaupt möglich ist. Deswegen werde ich das mal mit der variante versuchen, wo ersteinmal abgefragt wird, wie viele Fahrzeuge eingefügt werden.
 
Was hindert dich daran die datensätze nach einnander einzutragen?

Verwend doch einfach eine For each schleichfe die solang in die Datenbank schreibt so lang noch Post werte da sind.

Mfg Splasch
 
Du brauchst für jedes Formularfeld eine Spalte in der SQL Tabelle.

Dann arbeitest du beim betätigen des Submit button mit

PHP:
$Var = mysql_query("INSERT INTO Tabelle (Col1, Col2, ...)  value ($Wert aus From feld1, $Wert aus From feld1,...)");

So kannst du neue DS (Rows) hinzufügen, sie werden gennerell am Ende der Tabelle angefügt.

Nun brauchst du ne schleife, diese durchläufst du so oft, wie du DS einfügen magst..
Aber wie und wozu mehrere einfügen

Du musst ja die Daten auch bereit halten, ich denke das wird dein größtes problem!!

LA: Wär ja mögleich sich Felder zu schaffen, diese einmal zu füllen, und dann mit der Länge des feldes eine for - Schleife zu steuern.
So kannst du ein mal die Daten eingeben, die länge ist die Anzahl der DS und via Index
greifst du auf die an dieser Stelle einzutragenden Daten zu.

LG Mohag
 
Zuletzt bearbeitet:
Zurück