2016-06-13 12 views
0

私は両方を挿入することができますどのように把握しようと一日中頭をクラッキングされているこのmysqlのテーブルに多次元配列の両方がキーと値の挿入

Array 
(
    [0] => Array 
     (
      [post_id] => 5410 
      [Issue] => 201 
      [volume] => 2 
      [pages] => 105-9 
      [authors] => Onger, M., Jaluth, K. 
      [publication_date] => 17 January 2016 
      [journals] => Nature Medicine 
      [link_to_pubmed] => http://www.ncbi.nlm.nih.gov/pubmed/1 
     ) 
    [1] => Array 
     (
      [post_id] => 5411 
      [Issue] => 301 
      [volume] => 7 
      [pages] => 32-9 
      [authors] => Onger, M., Jaluth, K. 
      [publication_date] => March 30 
      [journals] => Lancet 
      [link_to_pubmed] => http://www.ncbi.nlm.nih.gov/pubmed/2 
     ) 
     ) 

のように見えるの配列を持っていますキーと値は、私が使用しているコードは1がhereを説明し、

下に見ることができるように非常に似ているこの

+---------+---------+-------------------+-----------------------+ 
| meta_id | post_id | meta_key   | meta_value   | 
+---------+---------+-------------------+-----------------------+ 
| 190143 | 5410 |Issue    | 201     | 
| 190141 | 5410 |volume    | 2      | 
| 190140 | 5410 |pages    | 105-109    | 
| 190139 | 5410 |authors   | Onger, M., Jaluth, K. | 
| 190144 | 5410 |publication_date | 17 January 2016  | 
| 190136 | 5410 |journals   | Nature Medicine  | 
| 190135 | 5410 |link_to_pubmed  |      | 
|   |   |     |      | 
+---------+---------+-------------------+-----------------------+ 

のようなものを取得します10

どのようにキーと値を取得できますか?

+2

、自動インクリメントフィールドで、あなたはどのようなコードを試してみましたか? – splash58

+1

'foreach'と' INSERT 'がネストされたシンプルズのカップルです。あなたはどんな特定の部分を抱いていますか? –

+0

@ splash58コードのスナップショットのポスト/質問を編集しました – tapeli

答えて

1

meta_idた場合は、その後

foreach($publications as $publication) { 
    // Get post_id and remive it from array 
    $post_id = $publication['post_id']; 
    unset($publication['post_id']); 
    foreach ($publication as $key => $metadata) { 
     // Below a query. I only print it, you need to execute it 
     echo $query = 'insert into table (post_id, meta_key, meta_value) 
         values ($post_id, "' . $key . '", "' . $metadata . '")'; 
     } 
} 
+0

これはあなたのために働くはずです。 – mishka

+0

素晴らしいもの@スプラッシュ58。それは私が探していたものです。あなたが思ったのと同じ方法でソリューションを考えたことはありません.....ありがとう! – tapeli

0

1つのクエリでは実行できません。 配列のループを実行し、各行でINSERT mysqlを実行する必要があります。

関連する問題