繁体   English   中英

如何通过PHP将未知数量的HTML表单字段插入MySQL?

[英]How to Insert unknown amount of HTML form fields into MySQL via PHP?

我有一个功能齐全的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

将字段更改为数组,例如:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM