-1

私はこのような配列を持っています:

    Array ( 
    [0] => A3C0101 
    [1] => Kun 
    [2] => Kame 
    [3] => 25.08. 14:00 
    [4] => NE 
    [5] => Sv 
    [6] => A3C0103 
    [7] => Popo 
    [8] => Ska 
    [9] => 24.08. 17:00 
    [10] => SO 
    [11] => 
    [12] => A3C0105 
    [13] => Muka 
    [14] => Stran 
    [15] => 24.08. 14:00 
    [16] => SO 
    [17] => 
    [18] => A3C0107 
    [19] => Lojoe 
    [20] => ©kvor 
    [21] => 25.08. 17:00 
    [22] => NE 
    [23] => 
    ...
    ...
    ...
    ... 
    ...
    [467] => 
) 

これを 6 つの値ごとに区切る必要があります。そして、MySqlを次のように挿入したいと思います:

    INSERT INTO `table` (`id` ,`one` ,`two`, `date` ,`den` ,`type`)
VALUES
  ('A3C0101', 'Kun', 'Kame', '25.08. 14:00', 'NE', 'Sv'),
  ('A3C0103', 'Popo', 'Ska', '24.08. 17:00', 'SO', ''),
  ('A3C0105', 'Muka', 'Stran', '24.08. 14:00', 'SO', ''),
  ('A3C0107', 'Lojoe', '©kvor', '25.08. 17:00', 'NE', ''),
   ...
   ...
   ...

6 つごとに 1 つのインサートが形成されます。お分かりできると良いのですが。

アドバイスありがとうございます!! :-)

フィリップ

4

3 に答える 3

0

これにはphp関数array_chunk()を使用できます。下記参照:

 // take array of 6
 $input_array = array("1","2","3","4","5","6");
 // divide array in 2
 $divided_array = array_chunk($input_array, 2));

 foreach($divided_array as $value)
 {
     mysql_query("insert into `table_name` (col1,col2) values '".$value[0]."','".$value[1]."')");
 }
于 2013-09-18T09:27:56.553 に答える
0

これを試して。配列をチャンクしてから内破します。チャンク配列の要素が 6 未満の場合、挿入は失敗します

 //chunk the array in size of 6 where $arr is your array
 $arr_chunked = array_chunk($arr, 6);

    foreach($arr_chunked as $key=>$value)
    {
      if(is_array($value) && count($value)>0)
      {
        //prepare a string separated by comma for insert
          $insert_values = implode("','", $value) ;
          $insert_string = "'".$insert_values."'";
          //use the $insert_string to insert in database
      }
    }
于 2013-09-18T09:28:12.533 に答える