Ich habe ein Formular, das einige grundlegende Fragen zu einem Job stellt, und fragt dann die Person, die alle Kollegen auflistet, die zu der Zeit bei ihnen waren . Ich möchte, dass alle Kollegen eine Zeile in die Datenbank eingeben - also bleiben alle anderen Details gleich, mit Ausnahme ihrer Arbeits-ID (die die Kennung der Person darstellt). Mein Code unten scheint mit dem workID Feld 1 Reihe zum db einreichen leerSo geben Sie mehrere Zeilen in mySQL aus Formulardaten ein, wo sich ein Feld ändert
<?php
require_once('includes/dbconnect.php');
$varWorkID = $_POST['workid'];
$varDate = $_POST['date'];
$varType = $_POST['type'];
$varSuper = $_POST['supervisor'];
$varReference = $_POST['reference'];
//Remove last part of array as extra 1 sent through by form
$workID = array_pop($varWorkID);
for ($i=0; $i < count($workID); $i++)
{
mysqli_query($conn,"INSERT INTO searches (workid,date,type,super,reference) VALUES('".$workID."','".$varDate."','".$varType."','".$varSuper."','".$varReference."')");
}
echo "Completed";
Ich glaube, ich bin ziemlich nahe, aber ich brauche nur workid zu bekommen für jede der mit jedem der Arbeits IDs gefüllt werden Mitarbeiter anwesend.
Jede Hilfe sehr geschätzt
Dieser Code ist extrem anfällig für SQL Injection. Erwägen Sie die Verwendung vorbereiteter Anweisungen –
Do 'var_dump ($ varWorkID);' und sehen, was Sie bekommen. –
'array (3) {[0] => string (5)" AB123 "[1] => string (5)" CD456 "[2] => string (0)" "}' – JJMillwall