gpt4 book ai didi

php - 通过后表单序列化发送数据

转载 作者:行者123 更新时间:2023-11-29 02:58:36 25 4
gpt4 key购买 nike

我在问这个问题,希望能简化它。

我有一个自定义字段生成器(使用 jquery),允许为特定项目设置价格。我需要发布值并将它们逐行插入到 MySQL 表中,并使用唯一 ID (x) 作为饮料名称和饮料价格之间的关系。

我最初的尝试是在这些方面

var max_fields      = 50; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID

var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append(''
+'<tr class="row_'+x+'">'
+'<td><select style="width:99%;" name="item[product]" ><?php echo $items;?></select></td>'
+'<td><input type="txt" name="item[price]" class="input-small"><input type="hidden" name="item[id]" class="input-small">'
+'<a href="#" class="remove_field pull-right"><span class="icon-cancel"></span></a>'
+'</td>'
+'</tr>');
}
});

当我在序列化输入后将其发布到服务器时,这就是返回的内容

print_r($_POST['item']);

Array
(
[0] => Array
(
[0] => Boags Draught 24 375ml
[1] => Carlton Draught or VB 10/375ml
)

[1] => Array
(
[0] => 12.45
[1] => 45.78
)

[2] => Array
(
[0] => 2
[1] => 3
)
)

如何将饮料和唯一 ID 插入表格?

最佳答案

经过交谈,我们想出了解决方案。问题是 OP 如何将数据传递到服务器。我们必须像这样更改动态 html 输入名称,使每个产品都统一

var max_fields = 50; //maximum input boxes allowed 
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID

var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append(''
+'<tr class="row_'+x+'">'
+'<td><select style="width:99%;" name="item['+x+'][]" ><?php echo $items;?></select> </td>'
+'<td><input type="txt" name="item['+x+'][]" class="input-small"><input type="hidden" name="item['+x+'][]" value="'+x+'" >'
+'<a href="#" class="remove_field pull-right"><span class="icon-cancel"></span></a>'
+'</td>'
+'</tr>');
}
});

然后在 POST $( "#form-package").serialize() 中序列化表单参数后,数据以这种格式发送

Array
(
[2] => Array
(
[0] => Boags Draught 24 375ml
[1] => 12
[2] => 2
)
[3] => Array
(
[0] => Carlton Draught or VB 10/375ml
[1] => 90
[2] => 3
)
)

像这样循环,你就会得到正确的解决方案

foreach($_POST['item'] as $data) { 
$insert="INSERT INTO table (meta_id,meta_data) VALUES ('$data[2]','$data[0]')";
$db->setQuery($insert);
$db->query();
}

关于php - 通过后表单序列化发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com