【问题标题】:Adding rows to mysql from dynamic jquery form fields从动态 jquery 表单字段向 mysql 添加行
【发布时间】:2012-08-17 07:42:24
【问题描述】:

请原谅我不精通 php/mysql。我有一个用于库存的 html 表单。我有一组字段来更新我的 sql 数据库,它们是 item_name、item_cost、item_quantity。我有一个 jquery 按钮,允许用户动态添加其他项目/行。

问题:我如何让 php 循环用户添加的任何数量的项目并将它们放入 mysql 数据库中?

感谢您的宝贵时间。

【问题讨论】:

  • 你能分享一些代码吗?

标签: php jquery mysql dynamic


【解决方案1】:

如果您有多个具有相同名称的表单输入,并且该名称以方括号 [] 结尾,则当 PHP 从表单中填充 $_POST 时,它们的值将转换为数组。

所以你的 jQuery 按钮应该插入一行,字段名称如下:

<input type="text" name="item_name[]" value="" />
<input type="text" name="item_cost[]" value="" />
<input type="text" name="item_quantity[]" value="" />

在接受表单提交的 PHP 代码中,您可以像这样处理所有存在的行:

//I used `item_name` as the loop termination condition, 
//but any of the 3 keys would have worked
for ($i = 0; $i < count($_POST['item_name']); $i++) {
    $item_name = $_POST['item_name'][$i];
    $item_cost = $_POST['item_cost'][$i];
    $item_quantity = $_POST['item_quantity'][$i];

    //here, inside the loop, run your database query using the 3 values above    
}

【讨论】:

  • 这看起来很完美......我会尽快试试这个!谢谢大家的时间!
【解决方案2】:

另一种(硬)方法是有一个隐藏的输入框,它的值是用户想要提交的项目的数量,在每个 jquery“添加按钮”点击时,隐藏输入的值也将被更新( value++),并且您应该在使用 jquery 制作它们时执行其他输入名称,例如“name_id”,这样您就可以在服务器端获取它们...... .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2014-05-21
    • 2011-08-31
    • 1970-01-01
    • 2010-10-30
    相关资源
    最近更新 更多