在Codeigniter中向购物车添加数量

时间:2016-06-15 21:52:20

标签: php codeigniter cart

所以我不确定其他地方是否有类似问题,这是我在更改或在同一项目上添加其他数量时的问题。

添加带有一些数量的物品到购物车

For first, i add some items with some qty to my cart

将商品插入购物车后,它会显示在我的购物车列表中

After inserting item to cart, then the item will show in my cart list. It's look fine

之后,我添加相同的项目,但现在添加不同的另一个数量(并且问题开始......)

Then, i add same item but now with another qty

此问题现在显示在我的购物车列表中。 我的股票中的数量只有5.当我第一次添加它看起来很好,但当我尝试输入另一个quatity(在这种情况下是6)它将添加到我的购物车,现在我的quatity购买是11。我的股票结束了。

New cart list showing

这是我的控制器,用于将商品添加到购物车

function addToCart()
{
    $data = array(
        'id'    => @$this->input->post('registerNum'),
        'qty'   => @$this->input->post('buyQty'),
        'price' => @$this->input->post('priceEach'),
        'name'  => @$this->input->post('itemName'),
    );
    $this->cart->insert($data);
    redirect('admin/transaction/add');
}

那么,任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码验证输入到购物车的数量:

function addToCart()
{
    $stock = $this->input->post('stock');
    $qty   = $this->input->post('qty');
    if($qty > $stock){
        $this->session->set_flashdata('msg','<div class="alert alert-danger alert-dismissible"><strong>Sorry!</strong> Quantity more than stock.</div>');
        redirect($_SERVER['HTTP_REFERER']);
    }

    $data = array(
        'id'    => $this->input->post('registerNum'),
        'stock' => $stock,
        'qty'   => $qty,
        'price' => $this->input->post('priceEach'),
        'name'  => $this->input->post('itemName'),
    );
    $this->cart->insert($data);
    redirect('admin/transaction/add');
}