请原谅我,因为我不精通php / mysql。我有一个用于库存的html表单。我有一组字段来更新我的sql数据库,它们是item_name,item_cost,item_quantity。我有一个jquery按钮,允许用户动态添加其他项目/行。
问题:如何让php循环用户添加的任何数量的项目并将它们放入mysql数据库?
谢谢你的时间。答案 0 :(得分:4)
如果您有多个具有相同名称的表单输入,并且该名称以双方括号[]
结尾,则当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
}
答案 1 :(得分:0)
另一个(硬)方法是有一个隐藏的输入框,它的值是用户想要提交的项目的数量,在每个jquery“添加按钮”上单击,隐藏输入的值也将被更新(值++),你应该使用jquery创建其他输入名称,如“name_id”,这样你就可以在服务器端获取它们了......