从动态jquery表单字段向mysql添加行


Adding rows to mysql from dynamic jquery form fields

对不起,我不精通php/mysql。我有一个库存的html表格。我有一组字段要更新我的sql数据库,它们是item_name、item_cost、item_quantity。我有一个jquery按钮,它允许用户动态添加额外的项目/行。

问题:无论用户添加了多少项,我如何让php循环并将它们放入mysql数据库?

谢谢你抽出时间。

如果您有多个具有相同名称的表单输入,并且该名称以双方括号[]结尾,则当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    
}

另一种(困难的)方法是有一个隐藏的输入框,它的值是用户想要提交的项目的数量,在每次单击jquery"添加按钮"时,隐藏输入的值也会更新(值++),并且在使用jquery制作时,你应该使用其他输入名称,如"name_id",这样你就可以在服务器端获得它们。