代码点火器 - 推车库随机工作

时间:2011-01-25 12:05:17

标签: php codeigniter

我正在使用购物车库在我的网上书店获取订单。但是,当我在我的一本书上调用addCart函数时,它可以工作,但不是所有时间。请帮忙

有我的模特功能:

function get_books_by_ID($id)
{
    $this->db->where('BOOK_ID', $id);

    $query =  $this->db->get('books');
    return $query;
    echo vardump($query);
} 

控制器:

function addCards($id=1)
{
    $query = $this->Kategorie_model->get_books_by_ID($id);
    if($query->num_rows() > 0)
    {
        $item = $query->row(); 
        $data = array(
            'id'      => $item->BOOK_ID,
            'qty'     => 1,
            'price'   => $item->BOOK_Price,
            'name'    => $item->BOOK_Title
        );
        $this->cart->insert($data);
    }
}

查看:

<tr>
<td class="color"><b>Cena: </b><?php echo $data->BOOK_Price;?>zł</td>
<td class="border" id="koszyk" ><?php echo anchor('ksiegarnia/addCards/'.$data->BOOK_ID, 'Koszyk'); ?></td>
</tr>

更新

vardump没有必要。我想使用var_dump。但问题与使用购物车库向会话中添加项目有关。我有一个书店,当我调用addCarts函数时,有时会将项目添加到Carts,并且cart函数total()和total_items显示它,但有时当我调用函数时,没有任何事情发生。这些物品不会添加到购物车中。我现在不知道为什么这个东西有个地方。为什么购物车库随机工作?

2 个答案:

答案 0 :(得分:2)

我刚遇到这个问题,似乎在codeigniter购物车库中,insert函数检查产品的id和名称与正则表达式只允许字母数字,破折号,下划线和句号

将正则表达式调整为可能出现的内容:

$ this-&gt; cart-&gt; product_id_rules ='。a-z0-9 _';

$ this-&gt; cart-&gt; product_name_rules ='。\: - _ a-z0-9';

在我的情况下,它会随机添加东西到购物车。如果您打开日志记录并检查您是否能够看到名称或ID可能包含无效字符

答案 1 :(得分:0)

我正如你所做的那样,就像你说的那样,推车是随机工作的, 当我添加另一个产品时,它似乎只能包含3个产品,我添加的产品不会进入购物车..

我很无望,我开始考虑用第三方改变购物车库

这是因为我没有设置会话保存到数据库,就像在教程(购物车和会议)中,购物车需要会话写入数据库才能工作。

当我将会话写入数据库时​​,问题解决了

你可以试试......