я создаю форму ввода производства, которая дает операторам машин возможность вводить несколько партий продукции. Из-за этого окончательная форма может иметь различное количество строк при отправке в зависимости от того, выполнил ли оператор 1, 2, 3+ пакета. Каждая строка формы должна быть отправлена в отдельную строку таблицы базы данных MySQL (при наличии трех пакетов каждая партия должна быть новой строкой в таблице).
Я добавил JavaScript для добавления новых строк в форму HTML успешно, но у меня проблемы с получением кода PHP для отправки КАЖДОГО из строк в базу данных MySQL. Сейчас только первая строка формы отправляется в базу данных MySQL. Может ли кто-нибудь помочь мне исправить код PHP?
, который я включил с помощью приведенного ниже кода.
Индекс. html
<form class="needs-validation" id="productionEntryForm" action="php/production-entry.php" method="post" novalidate>
<div class="row">
<input type="date" id="productionDate" name="productionDate">
<select id="operator" name="operator"></select>
<select id="line" name="line"></select>
</div>
<div id="batchContainer">
<div class="row" id="divBatch1">
<select id="disc1" name="disc[]"></select>
<select id="plastic1" name="plastic[]"></select>
<select id="color1" name="color[]"></select>
<input id="colorUsed1" type="number" name="colorUsed[]">
<input id="plasticUsed1" type="number" name="plasticUsed[]">
<input id="regrind1" type="number" name="regrind[]">
<input id="firsts1" type="number" name="firsts[]">
<input id="seconds1" type="number" name="seconds[]">
<input id="colorChange1" type="number" name="colorChange[]">
</div>
</div>
<div class="row">
<input id="newDisc" type="button" onclick="addDisc()" value="New Disc">
<button type="submit">Finish Run</button>
</div>
</form>
production-entry. php
<?php
$productionDate = $_POST['productionDate'];
$operator = $_POST['operator'];
$line = $_POST['line'];
$disc = $_POST['disc'];
$plastic = $_POST['plastic'];
$color = $_POST['color'];
$colorUsed = $_POST['colorUsed'];
$plasticUsed = $_POST['plasticUsed'];
$regrind = $_POST['regrind'];
$firsts = $_POST['firsts'];
$seconds = $_POST['seconds'];
$colorChange = $_POST['colorChange'];
$host = "localhost";
$dbusername = "username";
$dbpassword = "password";
$dbname = "testDB";
// Create connection
$conn = new mysqli($host, $dbusername, $dbpassword, $dbname);
if (mysqli_connect_error()){
die('Connect Error (' . mysqli_connect_errno() .') ' . mysqli_connect_error());
}
else{
$sql = "INSERT INTO PRODUCTION_ENTRY (PRODUCTION_DATE, OPERATOR, PRODUCTION_LINE, DISC, PLASTIC, COLOR, COLOR_USED_GRAMS, PLASTIC_USED_LBS, REGRIND_LBS, FIRSTS, SECONDS, COLOR_CHANGE)
values ('$productionDate','$operator','$line','$disc','$plastic','$color','$colorUsed','$plasticUsed','$regrind','$firsts','$seconds','$colorChange')";
echo $sql;
if ($conn->query($sql)){
echo "Data submitted successfully";
}
else{
echo "Error: ". $sql ."<br>". $conn->error;
}
$conn->close();
}
?>