Simple operation of hash data type (implementation of shopping cart case)

PHPz
Release: 2023-03-07 10:02:01
Original
1835 people have browsed it

How about not being too cumbersome hereInstallationredis and php redis extension, mainly Familiar with calling redis hashData type

As shown in the figure

Simple operation of hash data type (implementation of shopping cart case)


Simple method The operation is as follows

1:hSet

Simple operation of hash data type (implementation of shopping cart case)


2:hGet


Simple operation of hash data type (implementation of shopping cart case)


##4:hDel


Simple operation of hash data type (implementation of shopping cart case)


5:hGetAll


Simple operation of hash data type (implementation of shopping cart case)


##4:hExists


Simple operation of hash data type (implementation of shopping cart case)

# #5:hIncrBy


Simple operation of hash data type (implementation of shopping cart case)

##Simple

Shopping Cart Implementation


Simple operation of hash data type (implementation of shopping cart case)



Simple operation of hash data type (implementation of shopping cart case)



Simple operation of hash data type (implementation of shopping cart case)



Simple operation of hash data type (implementation of shopping cart case)



Simple operation of hash data type (implementation of shopping cart case)

namespaceHome\Controller;

useThink\Controller;


useOrg\Net\Http;

useThink\

Cache

\Driver\Redis;

class

IndexControllerextendsController

{private$redis_obj =null;

public functionconstruct()

{$this->redis_obj=

new

Redis();

}

/***@

file

: Determine whether the reduced product exists in the shopping cart

*@param$user_id

*@param$goods_id*/

public functiongoods_is_exist($user_id,$goods_id)

{

$ r1=$this->redis_obj->hExists($user_id,$goods_id);

##return

$r1;

}

/ **

*@file:Add items to shopping cart

*

*/

public functionadd_goods()

{

$user_id= intval($_POST['user_id']) ? intval($_POST[' user_id']) :0;

$goods_id= intval($_POST['goods_id']) ? intval($_POST['goods_id']) :0;

$exist=$ this->goods_is_exist($user_id,$goods_id);

if

(!empty($user_id) &&$goods_id) {

//There is no added product

if(!$exist) {

$add_return=$this->redis_obj->hSet($user_id,$goods_id,1);

if( $add_return) {

$this->ajaxReturn(

array

('code'=>0,'msg'=>'success'));

}else{

$this->ajaxReturn(array('code'=>1,'msg'=>'error'));

}

}elseif($exist) {

//The existing product is increased by 1

$add_exist_result=$this->redis_obj->hIncrBy( $user_id,$goods_id,1);

if($add_exist_result) {

$this->ajaxReturn(array('code'=>0,'msg'=> 'success','1'=>$add_exist_result));

}else{

$this->ajaxReturn(array('code'=>1,'msg' =>'error'));

}

}

}

}

//Reduce the items in the shopping cart

public functionreduce_goods()

{

$user_id= intval($_POST['user_id']) ? intval($_POST['user_id']) :0;

$goods_id= intval($_POST['goods_id']) ? intval($_POST['goods_id']) :0;

if(!empty($user_id) &&$goods_id ) {

$exist=$this->goods_is_exist($user_id,$goods_id);

//Does not exist

if(!$exist) {

$this->ajaxReturn(array('code'=>1,'msg'=>'goods is not exist '));

}elseif($exist) {

$val=$this->redis_obj->hGet($user_id,$goods_id);

if($val==1) {//There is only one item in the shopping cart When reduced to 0, it is Delete

$del_result=$this->redis_obj->hDel($user_id,$goods_id);

if($del_result= =1) {

$this->ajaxReturn(array('code'=>0,'msg'=>'success','num'=>0));

}

}elseif($val>1) {

$new_value=$this->redis_obj->hIncrBy($user_id,$goods_id,-1);

if($new_value>0) {

$this->ajaxReturn(array('code'=>0,'msg'=>'success','num'= >$new_value));

}else{

$this->ajaxReturn(array('code'=>1,'msg'=>'error')) ;

}

}

}

}else{

$this->ajaxReturn(array('code'= >1,'msg'=>'param is empty'));

}

}

//Remove product

public functionrm_goods()

{

$user_id= intval($_POST['user_id']) ? intval($_POST['user_id']) :0;

$ goods_id= intval($_POST['goods_id']) ? intval($_POST['goods_id']) :0;

if(!empty($user_id) && !empty($goods_id)) {

$arr= explode(',',$goods_id);

array_unshift($arr,$user_id);

$rm_result= call_user_func_array(array($this->redis_obj,"hDel"),$arr);

if($rm_result>=0) {

$this-> ajaxReturn(array('code'=>0,'msg'=>'remove success'));

}

}else{

$this- >ajaxReturn(array('code'=>1,'msg'=>'param is empty'));

}

}

// Shopping cart list

public functioncart_list()

{

$user_id= intval($_POST['user_id']) ? intval($ _POST['user_id']) :0;

if(!empty($user_id)) {

$goods_list=$this->redis_obj->hGetAll($user_id);

$this->ajaxReturn(array('code'=>0,'list'=>$goods_list));

}else{

$ this->ajaxReturn(array('code'=>1,'msg'=>'param is empty'));

}

}

//Set the quantity of a product

public functionedit_goods_num()

{

}

}

The above is the detailed content of Simple operation of hash data type (implementation of shopping cart case). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!