我问这个问题,希望可以简化它。
我有一个自定义字段生成器(使用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
)
)
如何在表格中插入饮品和唯一身份证?
答案 0 :(得分:1)
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();
}