1. 程式人生 > >Thinkphp——商品加入購物車在購物車列表顯示(還有購物車刪除)

Thinkphp——商品加入購物車在購物車列表顯示(還有購物車刪除)

//新增到購物車
    function addTocart(){
        if(I("sub",0)){
            $goods_id=I("goodsId",0);//獲取goodsId引數 自動判斷get或者post
            $goods_num=I("goodsNum",0);
            //如果是登入狀態(購物車資料存入資料庫)
            if(session("user_id")){
            $uid=session("user_id");
            D('Cart')->addToCart($uid,$goods_id,$goods_num);
            if($data){
                echo "<script>alert('加入購物車成功');location.href='Cart/showlist'</script>";    
            }
            }else{//否則沒有登入時如下,(沒登入,購物車資料存入session)
                $arr=array("goods_id"=>$goods_id,"goods_num"=>$goods_num);
                $data=unserialize(session("cart"));//取出session裡其他的資料
                $is_repeat=false;
                foreach($data as $k=>$v){
                    if($v['goods_id']==$goods_id){//如果資料重複,就更新資料
                        $data[$k]['goods_num']=$goods_num;
                        $is_repeat=true;
                    }    
                }
                if(!$is_repeat){//如果不重複,就追加一個
                    $data[]=$arr;
                }
                $data=serialize($data);//serialize() 把變數和它們的值編碼成文字形式
                session("cart",$data);//然後存入session
            }
            echo "<script>alert('加入購物車成功');location.href='../Cart/showlist'</script>";    
        }