每个input-> post是一个键/值数组。每个数组内的每个值都匹配其余的数组值。因此,数据库插入的第一行将是来自所有数组键0的所有数据。第二行将是1,依此类推,依此类推。我如何从post数组中获取所有数据并使用此方法将它们插入数据库?
$selected_size = $this->input->post('selected_size');
$product_id = $this->input->post('product_id');
$product_name = $this->input->post('product_name');
$product_color = $this->input->post('product_color');
$cookie_id = $this->input->cookie("cookie_id");
$q1 = $this->db->query("SELECT * FROM default_cart_temp
WHERE cookie_id = '$cookie_id'
AND is_paid = 'No'");
if ($q1->num_rows() > 0) {
} else {
print_r($selected_size);
/*$data = array('selected_size' => $selected_size,
'product_id' => $product_id,
'product_name' => $product_name,
'product_color' => $product_color);
$this->db->insert('mytable', $data);*/
}
答案 0 :(得分:3)
假设您的insert()
方法采用关联数组,然后构建并执行insert语句:
foreach($product_id as $key => $value)
{
$data = array(
'selected_size' => $selected_size[$key],
'product_id' => $value,
'product_name' => $product_name[$key],
'product_color' => $product_color[$key]
);
$this->db->insert('mytable', $data);
}
通过在其中一个数组上使用foreach
并在每次迭代中获取键,您可以使用相同的键变量来访问每个其他数组中的相应元素。