0

我有两个 MYSQL 表 'Piece' 和 'Order1'

在 PHP 中,我想遍历 $_POST 数组中的每个订单(以及其中的部分)并将其存储在我的数据库中。

我试图做一个while循环来存储每个单独的订单,但无法获取每个订单下的碎片。我在想也许这不是要走的路。

如果有人给我一个例子或建议,那就太好了。

    [order] => Array
            (
                [details] => Array
                    (
                        [0] => Array
                            (
                                [order1_itemcode] => 
                                [order1_description] => 
                                [order1_itemprice] => 
                                [order1_packagetype] => 0
                                [pieces] => Array
                                    (
                                        [0] => Array
                                            (
                                                [piece_length] => 235
                                                [piece_width] => 235
                                                [piece_height] => 235
                                                [piece_unittype] => cm
                                                [piece_actualweight] => 
                                                [piece_weighttype] => kg
                                            )

                                        [1] => Array
                                            (
                                                [piece_length] => 346
                                                [piece_width] => 346
                                                [piece_height] => 346
                                                [piece_unittype] => cm
                                                [piece_actualweight] => 
                                                [piece_weighttype] => kg
                                            )

                                    )

                            )

                        [1] => Array
                            (
                                [order1_itemcode] => 
                                [order1_description] => 
                                [order1_itemprice] => 
                                [order1_packagetype] => 0
                                [pieces] => Array
                                    (
                                        [0] => Array
                                            (
                                                [piece_length] => 46
                                                [piece_width] => 346
                                                [piece_height] => 346
                                                [piece_unittype] => cm
                                                [piece_actualweight] => 
                                                [piece_weighttype] => kg
                                            )

                                        [1] => Array
                                            (
                                                [piece_length] => 346
                                                [piece_width] => 223
                                                [piece_height] => 235
                                                [piece_unittype] => cm
                                                [piece_actualweight] => 
                                                [piece_weighttype] => kg
                                            )

                                    )

                            )

                    )

            )
4

4 回答 4

2

尝试这个 :

   foreach ($_POST['order']['details'] as $detail)
   {
       foreach($detail['pieces'] as $pieces)
       {
          //store($pieces['piece_length']);
          //store($pieces['piece_width']);
          //store($pieces['piece_height']);
          //store($pieces['piece_unittype']);
          //store($pieces['piece_actualweight']);
          //store($pieces['piece_weighttype']);
       }
    }
于 2012-11-05T06:33:20.287 回答
0

试试array_walk_recursive()函数

于 2012-11-05T05:36:35.713 回答
0

使用会更好

 foreach($_POST['order']['details'] as $key=>$order)
 {
    if(is_array($order['pieces']) && $key=='pieces')
    {
      foreach($order['pieces']) as $pices)
      $insert[]=implode(',',$pices);//array for later insert,you should do necessary validation and should deal with mysql injection
    }

 }
于 2012-11-05T05:47:07.057 回答
0

尝试这个

foreach($orders as $order)
{
   //store($order)

   $pieces = $order['pieces'];
   foreach($pieces as $a_pieces)
   {
      //store($a_pieces);
   }
}
于 2012-11-05T05:47:30.613 回答