您的位置:首页 > 数据库 > Redis

redis和cookie实现购物车

2016-12-05 18:34 471 查看
<?php

header("content-type:text/html;charset=utf8");

class CartFactory{

    public static function create($type){

      return  new  $type;

    }

}

 interface Cart{

     public function connects();

       public function add_cart($user_name,$goods_id,$num);   

     public function get_cart($user_name);

       public function rm_cart($user_name,$goods_id);

     public function clear_cart($user_name);

 

    

 }

//redis

 class GetRedis implements Cart{

          

        public function __construct(){

         

      }

     public function connects(){

             $redis = new Redis();

             $redis->connect("127.0.0.1",6379);

             return $redis;

     }

    //增商品

   public function add_cart($user_name,$goods_id,$num)

    {    

           $redis = $this->connects();

           $redis->$redis->hIncrBy($user_name, $goods_id, $num);          

    }

  //获取商品

    public function get_cart($user_name){

      $redis = $this->connects();

      $list=$redis->hgetall($user_name);

      return $list;

   }

     //删除单个商品

    public  function rm_cart($user_name,$goods_id){

       $redis = $this->connects();

       $redis->hdel($user_name,$goods_id);

       return true;

    }

   //清空购物车

   public  function clear_cart($user_name){

       $redis = $this->connects();

       $keys=$redis->hkeys($user_name);

       foreach ($keys as $val) {

        $redis->hdel($user_name,$val);

      }

    return true;

  }  

}

//cookie

class Cookie implements Cart {

        public function connects() {

            

        }

     //增商品

        public function add_cart($user_name,$goods_id,$num)

        {    

              if (isset($_COOKIE[$user_name])) {                   

                    $arr = unserialize($_COOKIE[$user_name]);

                    $arr[] =array('goods_id'=>$goods_id,"num"=>$num);

                    setcookie($user_name,serialize($arr));

                               

                }else{

                     $arr = array();

                     $arr[] = array('goods_id'=>$goods_id,"num"=>$num);                       

                     setcookie($user_name,serialize($arr));

                }      

       }

 

       //获取商品

     public function get_cart($user_name){

         if (isset($_COOKIE[$user_name])) {

            $cart_list = unserialize($_COOKIE[$user_name]);

            return $cart_list;

         }else{

            return false;

         }

      

        

     }

       

      //删除单个商品

     public function rm_cart($user_name,$goods_id){

       

      $arr= $this->get_cart($user_name);

       foreach ($arr as $key => $va) {

           if ($va['goods_id']== $goods_id) {             

               unset($arr[$key]);

           setcookie($user_name,serialize($arr));

                  return;      

           }

       }

     

      

    }

    //清空购物车

    public function clear_cart($user_name){

          setcookie($user_name,'');

     

    return true;

    }  

        

     

 }

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: