使用Active Record Code Igniter在Mysql中保存数组

时间:2015-04-17 14:23:04

标签: php mysql arrays codeigniter

我正在尝试在Mysql中保存表单数据。但嵌套数组导致问题。

Array ( [name] => Custom Project 
        [number] => 08883 
        [key] => Array ( [0] => Server Cost 
                         [1] => Domain Cost 
                         [2] => Design Charges, 
                       ) 
        [value] => Array ( [0] => 098 
                           [1] => 765 
                           [2] => 787 
                          ) 
      ) 

我正在使用$this->db->insert('invoice',$array),它正在插入数据,没有嵌套数组。

有没有办法可以将这个嵌套数组与上面的数组分开,然后将这个嵌套数组保存到另一个只有两列keyvalue

的表中

2 个答案:

答案 0 :(得分:2)

您可以使用array_combine创建密钥对值:

function save_value($array)
{
    $key_value = array_combine($array['key'], $array['value']);
    $this->db->insert('table_name', $key_value);
}

答案 1 :(得分:0)

我使用了非常简单的方法,我将一个数组推送到另一个数组,因为结果将在Codeigniter插入方法中处理。

//Item description
        $description=$_POST['key'];

        //item amount
        $amount=$_POST['value'];

        $big_array=array();

        for($i=0; $i<sizeof($description); $i++){

                $small_array=array('description'=>$description[$i],'amount'=>$amount[$i]);

                array_push($big_array,$small_array);
            }

        //adding data into model
        $this->my_Model->InsertData($big_array);