如何通过php将未知数量的html表单字段插入mysql?

kpbwa7wx  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(270)

我有一个功能性的html表单,我正在通过php将它的内容插入sql数据库。我需要找到一种方法,只需单击一下就可以插入多行(客户将根据需要动态添加更多表单字段)。
这是html字段(表单的一部分):

<label for="code">Súťažný kód</label>
<input type="text" name="code" id="code">

然后,我使用jquery将字段值传递给external.php文件:

jQuery.ajax({
  url:"insert.php",
  method:"POST",
  data:form_data,
  success:function(data) {
    console.log(data);
  }
});

在insert.php中,我连接到我的mysql数据库,得到的表单值如下:

$code = $_REQUEST['code'];

然后,我可以运行必要的sql查询来插入行,并包含所有必要的值(包括“code”)。
此表格将用作比赛的提交表格。在“代码”窗体字段旁边会有一个加号图标(或类似的图标),单击该图标,代码的另一个字段就会出现。用户将能够添加多达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
rfbsl7qr

rfbsl7qr1#

将字段更改为数组,如:

<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);
}

作为一般建议,请记住验证和转义要插入到数据库中的所有数据。

相关问题