我有多个数组要插入数据库,但我没有修复字段名称,因为可以选择格式表数据并插入数据库,但可以使用$ id_template检查字段名称。
所以我想知道如何从多个数组中获取数据以插入数据库
这是我在控制器中的代码
$column = $this->m_rate_template->get_column($id_template);
$colum_detail = implode(",", $column);
$column_cut = explode(",", $colum_detail); //example data get format is Array ( [0] => min [1] => max)
foreach ($column_cut as $key => $val){
$a = $this->input->post($column_cut[$key]);
foreach ($a as $key1 => $val1){
echo $val1;
$child_data = array(
'id' => $this->m_rate_template->generate_id_in_template($template_name),
'id_rate' => $id_rate,
$column_cut[$key] => $val1
);
$this->m_rate_template->insert_rate($child_data, $template_name);
}
}
答案 0 :(得分:1)
我的数据显示如下
Array ( [id] => 4ae665037e [id_rate] => 7f881e02bb [min] => 1 )
Array ( [id] => bc3e60157f [id_rate] => 7f881e02bb [min] => 2 )
Array ( [id] => 082de3ad82 [id_rate] => 7f881e02bb [max] => 1 )
Array ( [id] => ee135ecd8a [id_rate] => 7f881e02bb [max] => 2 )
实际上,数据应该是这样的
Array ( [id] => 4ae665037e [id_rate] => 7f881e02bb [min] => 1 [max] => 2)
Array ( [id] => 082de3ad82 [id_rate] => 7f881e02bb [max] => 1 [max] => 2)
更新
$array = array(
[0] => array(
'min' => '2500',
'max' => '5000'
),
[1] => array(
'min' => '5001',
'max' => '7000'
)
)
答案 1 :(得分:1)
您可以使用批量插入来插入多个
$this->db->insert_batch();
第一个参数是表名,第二个是数组(记录)数组
答案 2 :(得分:0)
如果你想在表中插入多个记录,那么你也可以使用codeigniter内置的insert_batch函数,而不需要在循环中进行make查询。 所以我的执行会很快。
你想要以下面的格式排列。
$array = array(
[0] => array(
'column 1' => 'value 1',
'column 2' => 'value 1'
),
[1] => array(
'column 1' => 'value 2',
'column 2' => 'value 2'
)
)
$this->db->insert_batch('tbl_name',$array)
所以请在循环中创建代码并生成上面的数组,然后在insert_batch函数中简单地传递数组。