首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索超文本标记语言动态表单域数据并保存到MySQL数据库

检索超文本标记语言动态表单域数据并保存到MySQL数据库
EN

Stack Overflow用户
提问于 2020-05-27 00:24:22
回答 1查看 476关注 0票数 0

我正在尝试将数据从html表单保存到MySQL数据库。我对web dev和javascript非常陌生。我有一个表单,用户可以在其中添加行字段取决于他们需要多少行。表单可以成功地添加和删除行,但问题是检索所有行字段。当我在我的form_process php文件中使用$_POST时,我只能访问最后一行的详细信息。如何检索用户将创建的所有行字段,以便将它们保存到数据库?

我尝试了这些帖子,但它们不处理动态表单域:Canonical: How to save HTML form data into MySQL databaseDynamic form field creation and saving in database php mysql

下图显示了带有3行字段的表单。如何检索所有行值,以便将它们保存到MySQL数据库上的表中?非常感谢您提前抽出时间来

我的HTML表单代码如下:

代码语言:javascript
复制
        <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代码应该处理表单:(这里是主要问题所在,我可以检索单行,但如何检索所有行?

代码语言:javascript
复制
        <?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代码:

代码语言: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.");

}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 01:08:58

通过在末尾添加[],您可以在PHP中将HTML form字段定义为数组。

代码语言:javascript
复制
<input type="text" required="required" name="Bus_Number[]">

上面的代码将使$_POST['Bus_Number']成为PHP中的一个数组,您可以从那里处理它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62026846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档