0

2つの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

使用する方が良いでしょう

 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 に答える
0

array_walk_recursive()関数を試してください

于 2012-11-05T05:36:35.713 に答える