【问题标题】:wordpress add data to the table with new rows generatedwordpress 将数据添加到表中并生成新行
【发布时间】:2014-09-08 13:56:45
【问题描述】:

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

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

【问题讨论】:

  • 你需要使用Ajax从数据库中获取数据...
  • @Anas 我不想从数据库中获取数据。我想一次全部插入。
  • 这样你就可以使用自定义的sql查询并执行它:)
  • 是的,我想知道要执行的自定义 sql 查询;)
  • 这不是你要找的吗?

标签: javascript php jquery mysql wordpress


【解决方案1】:

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

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

更好的方法可能是有一个名为“row_count”之类的隐藏字段,每次添加一行时都会递增,这样在 PHP 端,您只需使用提供的数字进行循环,而无需弄清楚如何你有很多行。

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

【讨论】:

  • 感谢您的建议,但您能否告诉我如何插入它们,即使我将它们的名字命名为 name1、email1;姓名 2,电子邮件 2;姓名 3、电子邮件 3 等。我想知道
  • 我在上面已经说过了。您可以在隐藏字段中使用 javascript 整数,或者您可以在每个变量后面加上一个数字,直到用完为止。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多