【问题标题】:Codeigniter cart can't insert dataCodeigniter 购物车无法插入数据
【发布时间】:2013-09-04 12:45:10
【问题描述】:

我正在尝试向 codeigniter (HMVC codeigniter) 切菜车添加一些数据并显示它,我在主购物车控制器中使用此方法:

function add_to_cart(){
    $this->load->library('cart');

    // Get data
    $userID = $this->input->post('userID');
    $eventID = $this->input->post('eventID');
    $tickedID = $this->input->post('tickedID');

    // Get ticket data
    $this->load->module('ticket');
    $ticket_query = $this->ticket->get_where($tickedID);

    //echo $this->session->all_userdata();

    foreach($ticket_query->result() as $ticket_data){
        $ticketPrice = $ticket_data->price;
        $ticketCategory = $ticket_data->category;
    }

    //echo 'tickedID: '.$tickedID.' price: '.$ticketPrice.' category: '.$ticketCategory;

    // Add item to cart
    $data_items = array(
           'id'      => $tickedID,
           'qty'     => 1,
           'price'   => $ticketPrice,
           'category'    => $ticketCategory,
           'options' => array()
        );

    $this->cart->insert($data_items);

    $cart = $this->cart->contents();
    echo '<pre>';
    echo print_r($cart);
    echo '</pre>';




}

基本上我从会话中获取userIDeventIDtickedID 变量,然后我运行查询以获取带有特定ID 的勾选。我遍历查询结果并从中获取$thicketPrice$ticketCategory 变量。然后我尝试在$data_items 中设置变量以插入购物车本身。最后我尝试echo 关心的内容,我得到的只是一个空数组。

会话、数据库和购物车库都是自动加载的,并且会话正在使用数据库,它们有 ci_sessions 表。会话也有一个加密密钥,有什么问题?

【问题讨论】:

    标签: php database codeigniter session cart


    【解决方案1】:

    成功插入购物车的一些注意事项:

    • '价格'> 0
    • 'name'(或类似字段)最好不要使用 unicode

    【讨论】:

      【解决方案2】:

      您需要一个name 索引,因为它是强制性的。

      • id - 商店中的每个产品都必须有一个唯一标识符。通常这将是“sku”或其他此类标识符。
      • qty - 购买的数量。
      • price - 商品的价格。
      • name - 项目的名称。
      • options - 识别产品所需的任何附加属性。这些必须通过数组传递。

      重要提示:上面的前四个数组索引(id、qty、price 和 name)是必需的。如果您省略其中任何一个,数据将不会保存到购物车中。第五个索引(选项)是可选的。它旨在用于您的产品具有与之关联的选项的情况。使用数组作为选项,如上所示。

      来自http://ellislab.com/codeigniter/user-guide/libraries/cart.html

      那么,就这样吧:

      $data_items = array(
             'id'      => $tickedID,
             'qty'     => 1,
             'price'   => $ticketPrice,
             'name'    => $someName,
             'options' => array('category'=>$ticketCategory)
          );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-17
        • 1970-01-01
        • 2013-05-21
        • 2015-03-28
        • 1970-01-01
        • 1970-01-01
        • 2012-08-26
        相关资源
        最近更新 更多