将数组列数据提取到insert语句中

时间:2016-01-13 19:56:49

标签: php arrays foreach while-loop

我的var_dump($ _ POST)如下所示:

Click here to see the jpg     [itemNo] =>排列         (             [0] => xyz_1             1 => xyz_2             [2] => xyz_3             [3] => xyz_4         )

[itemName] => Array
    (
        [0] => stool
        [1] => couch
        [2] => chair
        [3] => seat
    )

[price] => Array
    (
        [0] => 15
        [1] => 60
        [2] => 10
        [3] => 5
    )

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

[total] => Array
    (
        [0] => 15.00
        [1] => 60.00
        [2] => 10.00
        [3] => 5.00
    )

我正在尝试制作动态帐单结算脚本。

对于每个添加的订单项,会向所有以下数组添加另一个键值,目前有4个订单项正在转移到上一页的$ _POST数据,如您所见。

我不知道如何从这些数组中访问键值,并将它们转换为可以将每个行项插入数据库的格式。

e.g。我想插入:

item_iditem_callpricequantitytotal)价值观(xyz_1,凳子,15,1,15)

item_iditem_callpricequantitytotal)价值观(xyz_2,沙发,60,1,60)

item_iditem_callpricequantitytotal)价值观(xyz_3,主席,10,1,10)

item_iditem_callpricequantitytotal)价值观(xyz_4,座位,5,1,5)

如何以有序的方式格式化/从数组中提取每个键值,如果1个订单项被购买或说50个无关紧要? - >该脚本会将所有数据解析为适当的插入语句,例如购买1种商品类型/插入1条记录=>购买50种商品类型/插入50条记录。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

迭代一些基本的$_POST字段并获取其他$_POST字段的相应值,例如:

foreach ($_POST['itemNo'] as $k => $v) {
    // simple echo:
    echo $v, $_POST['itemName'][$k], $_POST['price'][$k];

    // save as array:
    $vals = array(
        $v, 
        $_POST['itemName'][$k], 
        $_POST['price'][$k],
        $_POST['quantity'][$k], 
        $_POST['total'][$k],
    );
    print_r($vals);
}