Я пытаюсь сохранить данные из формы html в базу данных MySQL. Я новичок в веб-разработке и javascript. У меня есть форма, в которой пользователь может добавлять поля строк в зависимости от того, сколько строк им нужно. Форма может успешно добавлять и удалять строки, но проблема заключается в получении всех полей строк. Я могу получить доступ только к деталям последней строки, когда использую $ _POST в моем файле form_process php. Как я могу получить все поля строк, которые создаст пользователь, чтобы сохранить их в базе данных?
Я пробовал эти сообщения, но они не имеют отношения к динамическим c полям формы: Canonical: как сохранить данные формы HTML в MySQL базу данных и Dynami c создание поля формы и сохранение в базе данных php mysql
На изображении ниже показана форма с тремя полями вне поля. Как мне получить все значения строк, чтобы сохранить их в таблице в базе данных MySQL? Заранее большое спасибо за ваше время
Мой HTML код формы ниже:
<fieldset class="row2">
<legend>Bus Data</legend>
<p>
<input type="button" value="Add Bus" onClick="addRow('busDataTable')" />
<input type="button" value="Remove Bus" onClick="deleteRow('busDataTable')" />
<p>(Remove action applies only to a column with a marked check box.)</p>
<p>
<table id="busDataTable" class="form" border="1">
<tbody>
<tr>
<p>
<td><input type="checkbox" name="chk[]" checked="checked" /></td>
<td>
<label>Bus #</label>
<input type="text" required="required" name="Bus_Number">
</td>
<td>
<label for="Load_kW">Load kW</label>
<input type="text" required="required" name="Load_kW">
</td>
<td>
<label for="Load_kVAR">Load kVAR</label>
<input type="text" required="required" name="Load_kVAR">
</td>
<td>
<label for="Voltage_kV">Voltage kV</label>
<input type="text" required="required" name="Voltage_kV">
</td>
</p>
</tr>
</tbody>
</table>
My PHP код, который предположительно обрабатывает форму: (Здесь основная проблема, я могу получить для одной строки, но как мне получить для всех строк?
<?php
// put your code here
// Connecting to mySQL database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Radial Distribution System";
// Create connection to database and get power system data
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // for showing the exact error on the html page
$conn = new mysqli($servername, $username, $password, $dbname);
$_busNumber = array();
$_busNumber []= $_POST['Bus_Number'];
print_r($_busNumber);
$conn->close();
?>
Код javascript который создает / добавляет дополнительные строки:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
if(rowCount < 66){ // limit the user from creating fields more than your limits
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
}
}else{
alert("Maximum nodes for this platform is 66.");
}
}