Javascript 检索HTML动态表单字段数据并保存到MySQL数据库
我正在尝试将数据从html表单保存到MySQL数据库。我对web开发和javascript非常陌生。我有一个表单,用户可以根据需要的行数添加行字段。表单可以成功添加和删除行,但问题是检索所有行字段。在我的form\u process php文件中使用$\u POST时,我只能访问最后一行的详细信息。如何检索用户将创建的所有行字段,以便将它们保存到数据库中 我试过这些帖子,但它们没有处理动态表单字段: 及 下图显示了字段外有3行的表单。如何检索所有行值,以便将它们保存到MySQL数据库的表中? 非常感谢您提前抽出时间 我的HTML表单代码如下:Javascript 检索HTML动态表单字段数据并保存到MySQL数据库,javascript,php,mysql,Javascript,Php,Mysql,我正在尝试将数据从html表单保存到MySQL数据库。我对web开发和javascript非常陌生。我有一个表单,用户可以根据需要的行数添加行字段。表单可以成功添加和删除行,但问题是检索所有行字段。在我的form\u process php文件中使用$\u POST时,我只能访问最后一行的详细信息。如何检索用户将创建的所有行字段,以便将它们保存到数据库中 我试过这些帖子,但它们没有处理动态表单字段: 及 下图显示了字段外有3行的表单。如何检索所有行值,以便将它们保存到MySQL数据库的表中? 非
<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>
我的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.");
}
}
在PHP中,您可以通过在末尾添加[]来定义要填充为数组的HTML表单字段
<input type="text" required="required" name="Bus_Number[]">
上面的代码将导致$\u POST['Bus\u Number']成为PHP中的一个数组,您可以从那里处理它 您考虑过将ajax与jquery结合使用吗?@Hardood,我不知道ajax和jquery,让我深入研究一下,看看我会得到什么。Hanks很多,我只是测试了一下,我可以以数组形式检索值。我将从这里开始:-