1

codeigniter を使用して MySQL テーブルにデータを挿入しようとしています。

最初に、データを挿入する構成 XML から列を取得し、別の XML から値を挿入するターゲット ノードを取得します。

    foreach ($sql_xml as $children) {
        foreach ($children as $index => $child) {
            if ($child != 'feed_id') {
                $keys[] = $index;
                $into[] = $child; //this holds the table columns
            }
        }
    }

次に、挿入したい行ごとに複数の値を取得します。

  $products = array();
        $data = array();             
        foreach ($target_xml as $feeds) {
            $feeds =  $this->xml2array($feeds); //SimpleXMLObject to array
            $columns = new RecursiveIteratorIterator(new  RecursiveArrayIterator($feeds)); //get all recursive iteration            
            foreach ($columns as $index=>$column) {   
                     if (in_array($index, $keys)) { //here I get the values on matching nodes
                        $data[] = $column;
                    }    
                } 
            $products[] = $data;// this are the datas which should be inserted
            }

ここに挿入する必要があります:挿入されたものが、私の場合は一致するキーのフローで作成された連想配列である場合、非常に良い回避策があるドキュメントを探しています。

  $this->db->insert_batch('mytable', $products); 

問題はinto、ターゲット列を含む配列であり、製品配列にテーマをプッシュする方法がわからないことです。

4

1 に答える 1