【发布时间】:2015-03-31 08:04:01
【问题描述】:
这是我将采购订单表格保存到数据库的代码..
function save(&$purchase_data,$purchase_id)
{
$success=false;
//Run these queries as a transaction, we want to make sure we do all or nothing
$this->db->trans_start();
if($purchase_data)
{
if (!$purchase_id or !$this->exists($purchase_id))
{
//$purchase_data['purchase_id'] = $purchase_id = $purchase_data['purchase_id'];
$success = $this->db->insert('purchase_order',$purchase_data);
$post_array['cart']=$this->session->userdata('data');
/*print_r($post_array);
exit;*/
$purchase_id=$this->db->insert_id();
$i=0;
foreach($post_array['cart'] as $item)
{
//echo "<pre>"; print_r($item); echo "</pre>";
$query = $this->db->query("SELECT name FROM phppos_items WHERE item_id='".$item['product_id']."'");
foreach ($query->result() as $row)
{
$product_name=$row->name;
}
$product_id=$item['product_id'];
$quantity=$item['quantity'];
$unit=$item['unit'];
$unit_rate=$item['unit_rate'];
$query = $this->db->query("insert into phppos_productdetails(product_id,product_name,quantity,unit,unit_rate,purchase_id) values ('$product_id','$product_name','$quantity','$unit','$unit_rate','$purchase_id')");
$i++;
}
}
}
现在这段代码在 productdetails 表中插入多行,但我想序列化 $post_array['cart'] 数组并希望将整个数组存储在一列中。那我该怎么做?? 现在我的数据正在保存,如下所示..
您可以看到 purchase_id 为 17 的三个产品。所以我想将所有 product_id、所有产品名称、所有 qty、unit、unit_rate 存储在一列中。简而言之,我只想向数据库插入一行。那么我应该对 foreach 循环进行哪些更改呢?
【问题讨论】:
标签: php codeigniter serialization