我有一个功能正常的HTML表单,我正在通过PHP将其内容插入SQL数据库。我需要找到一种方法,只需单击一下即可插入多行(客户将根据需要动态添加更多表单字段)。
这是HTML字段(表单的一部分):
<label for="code">Súťažný kód</label>
<input type="text" name="code" id="code">
然后我使用jQuery将字段值传递给外部.php文件:
jQuery.ajax({
url:"insert.php",
method:"POST",
data:form_data,
success:function(data) {
console.log(data);
}
});
在insert.php中,我正在连接到我的MySQL数据库,并且正在获取如下形式的值:
$code = $_REQUEST['code'];
然后,我能够运行必要的SQL查询以插入带有所有必要值(包括“代码”)的行。
此表单将用作比赛的提交表单。在“代码”表单字段旁边,将有一个加号图标(或类似的图标),然后单击该图标,将出现另一个代码字段。用户最多可以在20个不同的字段中添加20个代码。
我的问题是,如何将所有表单(或所有代码)传递给.php文件,然后将它们作为单独的行插入到MySQL数据库中?
示例:
用户发送插入了3个代码的表格。生成的表单如下所示:
[firstName]
[lastName]
[code]
[code]
[code]
发送表单后,应将这三行添加到数据库中:
# | firstName | lastName | code
----------------------------------
1 | John | Doe | 12345
2 | John | Doe | ABCDE
3 | John | Doe | 55555
答案 0 :(得分:2)
将字段更改为数组,例如:
<input type="text" name="code[]" id="code1">
<input type="text" name="code[]" id="code2">
然后您可以像这样在PHP中访问它:
foreach ($_REQUEST['code'] as $key => $val) {
sql_insert_function($_REQUEST['firstName'], $_REQUEST['lastName'], $val);
}
作为一般建议,请记住验证并转义要插入数据库中的所有数据。