2016-05-18 2 views
1

Wie übergeben Array-Wert von HTML-Formular für mehrere Felder und fügen Sie mehrere Werte in die Datenbank mit dem Array von PHP mysqli?Wie fügt man mehrere Zeilen in MySQL mit PHP-Array ein?

foreach ($_POST['username'] as $username, $_POST['fname'] as $fname,$_POST['lname'] as $lname){ 

} 
+0

was haben Sie versucht zu erreichen, was Sie wollen? Könntest du ein Beispiel veröffentlichen? – rsz

+0

Willkommen bei SO. Bitte lesen Sie [Welche Themen kann ich fragen] (http://stackoverflow.com/help/on-topic) und [Wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to -ask) Und [die perfekte Frage] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) – RiggsFolly

+0

Warum willst du für Schleife? Erhalten Sie mehr als einen Benutzernamen, Vor- und Nachnamen in einem Formular? – Karthikeyani

Antwort

1

Ich gehe davon aus Ihrem HTML Code sieht wie folgt aus.

<input type='text' name='username[]'> 
<input type='text' name='fname[]'> 
<input type='text' name='lname[]'> 

<input type='text' name='username[]'> 
<input type='text' name='fname[]'> 
<input type='text' name='lname[]'> 

. 
. 
. 

SubmitPage.php

<?php 
$username = $_POST['username']; 
$fname = $_POST['fname']; 
$lname = $_POST['lname']; 

$totalUsername = sizeof($username); 

for($i=0;$i<$totalUsername;$i++) { 

    $InsertUsername = $username[$i]; 
    $InsertFname = $fname[$i]; 
    $InsertLname = $lname[$i]; 

    $query = "INSERT INTO `table_name`(`username_columnname`, `fname_columnname`,`lname_columnname`)". 
      " VALUES ('$InsertUsername','$InsertFname','$InsertLname') "; 

} 

?> 
+1

Vielen Dank. – Nirav

0

Versuchen einer for-Schleife, so dass Sie einen Index mit

$rows = []; 
for ($i = 0; $i < count($_POST['username']); $i++) { 
    $rows[] = [ 
     'username' => $_POST['username'][$i], 
     'fname' => $_POST['fname'][$i], 
     'lname' => $_POST['lname'][$i], 
    ]; 
} 

Jetzt Reihen arbeiten alle Ihre Daten aus der vorgelegten Form enthalten.

0

Wenn Sie nicht mehr als einen Benutzernamen, Vornamen und Nachnamen eingeben, können Sie einfach eine Abfrage ohne for-Schleife schreiben.

"INSERT INTO TABLENAME ('username', 'fname', 'lname') VALUES ('$_POST["username"]', '$_POST["fname"]', '$_POST["lname"]')"; 

Wenn Sie mehr als einen Benutzernamen, Vornamen und Nachnamen haben, dann wird sich der Feldname offensichtlich voneinander unterscheiden. So schreiben Sie so etwas wie dieses

$query = "INSERT INTO TABLENAME ('username', 'fname', 'lname') VALUES "; 

// If you have 5 fields 

foreach($i=1; $i<=5; $++){ 

$query .= "('$_POST["username" . $i]', '$_POST["fname" . $i]', '$_POST["lname" . $i]')"; 

//Which will give $_POST["username1"], $_POST["username2"], .. $_POST["username5"]. So your field name should be same like username1 to 5 

} 
echo $query; 
Verwandte Themen