我正在使用代码点火器做购物车。虽然我可以添加购物车功能,但我对如何更新它们与数据库有点混淆。我想要的只是当我更改购物车中的商品数量并点击更新时,必须为该特定商品更新购物车和数据库。我试图这样做却无法获得它。可以请某人请教我该做什么?
控制器代码
$this->load->model('user_m');
$result['query'] = $this->user_m->get($id); // inserts coresponing item
foreach ($result['query'] as $row)
$id = $row->pid;
$qty = $a;
$quan=$row->quantity;
$price = $row->pprice;
$name = $row->pname;
$q=$quan-$a; // for remainig stock i.e total qty-user qty
$data = array(
'id' => $id,
'qty' => $qty,
'price' => $price,
'name' => $name,
'stock' =>$q
);
$this->cart->insert($data);
$this->load->model('user_m');
$result['qry'] = $this->user_m->up_cart($id,$q);
redirect($_SERVER['HTTP_REFERER']);
}
告诉我如何更新pls!
答案 0 :(得分:0)
当您在购物车中添加任何产品时,它将生成uniq行ID,并且对于每个产品都是唯一的,因此您需要按行ID更新数量
$data = array(
'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
'qty' => 3
);
$this->cart->update($data);
//或多维数组
$data = array(
array(
'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
'qty' => 3
),
array(
'rowid' => 'xw82g9q3r495893iajdh473990rikw23',
'qty' => 4
),
array(
'rowid' => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
'qty' => 2
)
);
$this->cart->update($data);
现在您想知道如何获得行ID。
$cart=$this->cart->contents();
它将返回整个购物车数组,当您在网页上列出时,请将行ID与数量文本框关联以更新该特定产品。
请查看以下网址:
https://ellislab.com/codeigniter/user-guide/libraries/cart.html