【发布时间】:2015-01-30 07:35:58
【问题描述】:
我需要从循环中将数据保存在数组中,以便插入数据库。
这是代码:
$dataset = array();
for ($i = 1; $i <= $_POST['num_cart_items']; $i++) {
$dataset[item_name] = $_POST['item_name' + $i];
$dataset[item_number] =$_POST['item_number' + $i];
$dataset[mc_gross] =$_POST['mc_gross_' + $i];
}
不知道这样用对不对:
$sql = mysqli_query($conexion_temporal,"INSERT INTO transacciones (item_name, item_number, payment_status ,mc_gross) VALUES ('$dataset[item_name]', '$dataset[item_number]','$payment_status','$dataset[mc_gross]')");
所以如果我买了 2 件商品,我可以这样展示:
物品:球拍、勺子
项目编号:d67,t87
价格:4500,3789
所以我只买了一件时使用。
【问题讨论】:
-
我认为在循环时你会覆盖之前插入数组的值。您需要为 $dataset 使用多维数组。
-
数据集是空的,我只会用于这 3 个元素
-
是的,但是如果您有多个项目,则只有最后一个项目将被保存,因为其他项目将被覆盖。
-
我每个购物车只接受 7 件商品
-
你应该得到错误。使用
'或"像$dataset['item_name'].这样的键并为每次迭代创建新索引然后分配值。