多动态插入

时间:2015-07-31 18:05:11

标签: php insert

我有下面的表单,我可以添加更多行,在mysql表中插入更多的值。

<head>
    <link rel="stylesheet" type="text/css" href="css/default.css"/>
    <script type="text/javascript" src="js/script.js"></script> 
</head>
<body>    
    <form action="process" class="register" method="POST">

            <p> 
                <input type="button" value="Add Passenger" onClick="addRow('dataTable')" /> 
                <input type="button" value="Remove Passenger" onClick="deleteRow('dataTable')"  /> 
            </p>
           <table id="dataTable" class="form" border="1">
              <tbody>
                <tr>
                  <p>
                    <td><input type="checkbox" required="required" name="chk[]" checked="checked" /></td>
                    <td>
                        <label>Name</label>
                        <input type="text" required="required" name="BX_NAME[]">
                     </td>
                     <td>
                        <label for="BX_age">Age</label>
                        <input type="text" required="required" class="small"  name="BX_age[]">
                     </td>
                     <td>
                        <label for="BX_gender">Gender</label>
                        <select id="BX_gender" name="BX_gender[]" required="required">
                            <option>....</option>
                            <option>Male</option>
                            <option>Female</option>
                        </select>
                     </td>
                     <td>
                        <label for="BX_birth">Berth Pre</label>
                        <select id="BX_birth" name="BX_birth[]" required="required">
                            <option>....</option>
                            <option>Window</option>
                            <option>No Choice</option>
                        </select>
                     </td>
                        </p>
                </tr>
                </tbody>
            </table>
            <div class="clear"></div>

        <input class="submit" type="submit" value="Confirm &raquo;" />

        <div class="clear"></div>
    </form>
</body>

现在,我想将带有两个不同值的变量(例如:BX_NAME[])传递给 insert.php 页面:

  1. 如果我在表单中有两行,如何创建插入?
  2. 如何构建一个php脚本来装箱动态插入?

1 个答案:

答案 0 :(得分:0)

如果我得到它,你想用一个查询插入数据库中的行。如果没有告诉我删除这个答案 你将获得PHP方面的每个变量及其索引。例如:

chk[0], BX_Name[0], ..., chk[1], BX_Name[1], ...

在这里你必须管理它们并生成你的查询。

$insert = array();
for($i=0; $i < count($_POST['chk']); $i++)
{
    $chk = isset($_POST['chk'][$i]) ? $_POST['chk'][$i] : '';
    $BX_Name = isset($_POST['BX_Name'][$i]) ? $_POST['BX_Name'][$i] : '';
    // instead of '' you must put default value which your db expect
    ...
    $insert[] = "({$chk}, {$BX_Name}, ...)";
}
$values = implode(', ', $insert);
$query = "INSERT INTO `tbl_test` (`chk`, `bx_name`, ...) VALUES $values";
//execute it