如何更新项目列表,如购物车


how to update item list like shopping cart?

我有采购订单表格,我将产品详细信息存储在会话中,即产品名称,数量,费率等。它工作正常。但是当我编辑该采购订单时,我正确获取了已经存储的会话数据,但是当用户输入另一个产品时,它会覆盖第一个记录。表示仅显示新添加的记录。旧记录消失。以下是我的采购订单表单添加到购物车按钮的代码。

function index(){       
    $data= array('product_id'=>$this->input->post('product_id'),
        'quantity'=>$this->input->post('quantity'),
        'unit'=>$this->input->post('unit'),
        'unit_rate'=>$this->input->post('unit_rate'));

    //Get the cart
    $cart = $this->session->userdata('data');
    //Add data to this temporary variable
    $cart[] = $data;
    //Set back the data
    $this->session->set_userdata('data', $cart);
    $post_array['cart']=$this->session->userdata('data')
    ?>
    <tr>
        <th>Product  Name</th>
        <th>Quantity</th>
        <th>Unit</th>
        <th>Unit Rate</th>
        <th>Action</th>
    </tr>
    <?php
    $i=0;
    foreach($post_array['cart'] as $item){
        $query = $this->db->query("SELECT name FROM phppos_items WHERE 
 item_id='".$item['product_id']."'");
        foreach($query->result() as $row){
            $product_name=$row->name;
        }
        echo "<tr>";
        echo "<td>".$product_name."</td>";
        echo "<td>".$item['quantity']."</td>";
        echo "<td>".$item['unit']."</td>";
        echo "<td>".$item['unit_rate']."</td>";
        echo "<td><a href='javascript:void(0)' rownum='".$i."' 
    class='remove_from_cart'><img src='images/close.png'/></a></td>";
        echo "</tr>";
        $i++;
    }
    ?>
    <?php
 }

我在这里得到了旧的会话数据数组。

 $this->session->userdata('sess_products');

我想知道如何使用新数据更新该会话数组?我在编辑时也这么称呼。

嘿,

这与添加会话数据以进行更新的方式相同。

$this->会话>set_userdata("some_name","some_value");

点击此链接

你为什么不使用CODEIGNITER内置的购物库。

检查链接

使用分隔符连接多个事物

$item=$this->session->userdata('item');
$item=$update."+"."New item";
$price=$this->session->userdata('price');
$price=$price."+"."New price"; //add as much as u want(but you can store only 4kb in CI session. so restrict add multiple things in cart)
$this->session->set_userdata('item',$item);
$this->session->set_userdata('price',$price);

这可能会对您有所帮助