wordpress将数据添加到生成新行的表中


wordpress add data to the table with new rows generated

在wordpress中,我有一个类似的表单

<form id="data-form" action="">
    <table id="user-data">
        <tr>
            <td>Name</td>
            <td>Email</td>
        </tr>
        <tr>
            <td><input type="text" name="name"></td>
            <td><input type="text" name="email"></td>
        </tr>
    </table>
    <button type="submit" value="submit" name="submit">Submit</button>
</form>

所以当我点击提交按钮时,它会像一样将数据插入到表中

global $wpdb;
if ( isset($_POST['submit']) ) {
  $wpdb->insert(
    'fl_user_data', 
    array(
      'id' => '',
      'name' => $_POST['name'],
      'email' => $_POST['email'])
  );
  echo 'success';
}

并且它正在将值插入到数据库中。现在,我在表单中使用了一个名为"添加行"的按钮。因此,该按钮将该行添加到表中。现在,当我点击按钮时,它会像下面的一样向表中添加一行

<a href="#" id="add-row">+Add Row</a>
<script>
  $('body').on('click', '#add-row', function(e) {
    var Html = $('<tr><td><input type="text" name="name"></td><td><input type="text" name="email"></td></tr>');
    $('table#user-data').append(Html);
  });
</script>

当我单击"添加行"按钮时,这是在添加行。所以,当所有字段都填充了新行,然后我点击提交按钮时那么它只插入一个行值。有人能告诉我如何在数据库表中插入数据行吗成行。任何帮助和建议都将非常可观。感谢

因为要添加的字段都有相同的名称(名称、电子邮件),所以每个字段只是覆盖下一个字段。

您需要做的是,每次添加字段时,都要以已知的方式使名称唯一。例如name1、email1;姓名2,电子邮件2;name3、email3等等。然后在插入脚本中,您需要循环并一次添加一个。

一个更好的方法可能是有一个名为"row_count"的隐藏字段,每次添加一行时都会递增,这样在PHP方面,您只需使用提供的数字来循环,而不必计算出您有多少行。

不要忘记对所有输入等进行消毒。