php - 将动态表单中的数据插入数据库

标签 php html mysql forms

我目前有一个大型表单,需要在其中存储数据。我遇到的问题是表单不是静态的并且可能会变得更大,例如用户可能有 1++ 个地址。

当前表由 id、form_id、value 和 field 作为列组成。我目前可以从表单中添加值,但是如何创建一个唯一标识符来知道字段所在的位置。

  $surname = isset($_POST['surname'][0]) ? $_POST['surname'][0] : '';
  $address1 = isset($_POST['address1'][0]) ? $_POST['address1'][0] : '';
  $address2 = isset($_POST['address2'][0]) ? $_POST['address2'][0] : '';
  $address3 = isset($_POST['address3'][0]) ? $_POST['address3'][0] : '';

然后将它们全部插入一个数组中。

    foreach ($applicant as $value) {
        //statement to insert data
    $stmt = $pdo->prepare("INSERT INTO applicant1(form_id,value)VALUES(?,?)");
    $stmt->bindParam(1, $formid);
    $stmt->bindParam(2, $value);
    $stmt->execute();

    }

我如何获取它来自的字段的名称或者是否有不同的方法?

最佳答案

您应该创建一个包含两个表的数据库, 提交数据的提交 ID 以及获取该行所需的一些信息。 该表应该有一个自动增量的 pk 主键。 下一个表应该针对您将要多次提交的内容以及您可能想要收集的任何额外数据进行设计。那么它应该有一个 fk 外键,它是第一个表的主键,从而链接回原始提交。如果您使用的是 ajax 并且想要在新地址上实时执行这一切,您将从刚刚提交的第二个表中返回该行的 pk 并将其放入元素的自定义 xml 属性中。就像 data-fk 一样,如果您需要实时执行其他操作而无需重新加载页面,则可以获取该 fk。

关于php - 将动态表单中的数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38508778/

相关文章:

php - 如何从 foreach() 结果中删除最后一个结果

java - Eclipse for PHP 和 Eclipse 或 Java 互相搞乱了?

javascript - 如何在js和css3中实现鼠标点击滚动图片

jquery - header、container 和 footer 需要包含整个布局而不使用固定位置

php - 如何从类别数组中选择帖子而不是其他类别数组中的帖子?

javascript - "Error: [ng:areq] Argument ' userCtrl' 不是函数,未定义

PHP - 按索引范围获取数组记录

html - css 按钮未显示在任何版本的 IE 中

php - Magento -> 我希望管理员中的产品网格显示在前端

php - 基于其他表自动向mysql表添加列的方法