从动态jquery表单字段向mysql添加行 [英] Adding rows to mysql from dynamic jquery form fields
问题描述
问题:我如何使用PHP循环任何数量的项目,用户添加并放置在mysql数据库中?
谢谢你的时间。
如果您有多个具有相同名称的表单输入,并且该名称以双方括号 []
结尾,则当PHP填充<$ c时,它们的值将变为数组$ c> $ _ POST 从表单。
所以你的jQuery按钮应该插入一行,这样的字段命名如下:
< input type =textname =item_name []value =/>
< input type =textname =item_cost []value =/>
< input type =textname =item_quantity []value =/>
在您提交表单的PHP代码中,您可以处理所有这样存在的行:
//我使用`item_name`作为循环终止条件,
//但是3个键中的任何一个($ 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];
//这里,在循环中,使用
$ / code $
$ b运行数据库查询$ b
please excuse me as I am not proficient in php/mysql. I have an html form for inventory. I have a set of fields to update my sql database, they are item_name, item_cost, item_quantity. I have a jquery button that allows the user to dynamically add additional items/rows.
Question: how can I have php loop whatever number of items the user adds and put them in the mysql database?
thank you for your time.
If you have multiple form inputs with the same name, and that name ends in double square brackets []
, their values will be turned into an array when PHP populates $_POST
from the form.
So your jQuery button should insert a row with fields named like this:
<input type="text" name="item_name[]" value="" />
<input type="text" name="item_cost[]" value="" />
<input type="text" name="item_quantity[]" value="" />
In your PHP code that takes the form submission, you can process all the rows that exist like this:
//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表单字段向mysql添加行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!