wordpress使用生成的新行向表中添加数据

时间:2014-09-08 13:56:46

标签: javascript php jquery mysql wordpress

在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';
}

它正在将值插入数据库。现在我在表单中使用了一个名为add row的按钮。因此该按钮将行添加到表中。现在,当我单击按钮时,它会向表中添加一行,如此

<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>

当我点击添加行按钮时,这个是添加一行。因此,当所有字段都填满新行后,我点击提交按钮     然后它只插入一行值。那么有人可以告诉我如何在数据库表中插入数据行     在行中。任何帮助和建议都会非常明显。感谢

1 个答案:

答案 0 :(得分:0)

由于您添加的字段都具有相同的名称(名称,电子邮件),因此每个字段都会覆盖下一个字段。

您需要做的是,每次添加字段时,都会以已知方式使名称唯一。所以例如name1,email1; name2,email2; name3,email3等。然后在插入脚本中,您需要循环浏览并一次添加一个。

更好的方法是让隐藏字段称为&#34; row_count&#34;每次添加一行时都会递增,这样在PHP端,你只需使用提供的数字循环,而不必弄清楚你有多少行。

不要忘记清理所有输入等。