Heim > Backend-Entwicklung > PHP-Tutorial > Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)

Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)

PHPz
Freigeben: 2023-03-07 10:02:01
Original
1924 Leute haben es durchsucht

Wie wäre es, wenn Sie hier nicht umständlich wären? Ich bin hauptsächlich mit der einfachen Methode zum Aufrufen des Redis-Hash- vertraut, wie in der Abbildung

Die Operation ist wie folgt Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)
1: h

Set


2: hGetEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



4:hDelEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



5:hGetAllEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



4:hExistsEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



5:hIncrByEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



EinfacheEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)Einkaufswagen-Implementierung



Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)



Einfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls)

namespaceHomeController;


useThinkController;

useOrgNetHttp;

useThink

Cache

DriverRedis;

class

IndexController

extendsController

{

private$redis_obj=null;

public function construction()

{

$this->redis_obj=new

Redis();

}

/**

*@Datei

: Ermitteln Sie, ob das rabattierte Produkt im Warenkorb vorhanden ist

*@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: Warenkorbartikel hinzufügen

*

*/

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) {

//Es wurde kein Produkt hinzugefügt

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) {

//存在的商品增加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'));

}

}

}

}

//减少购物车的商品

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);

//不存在

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) {//购物车商品只有一件的时候 减少到0就是删除

$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'));

}

}

//移除商品

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'));

}

}

//购物车列表

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'));

}

}

//设置一个商品的数量

public functionedit_goods_num()

{

}

}

Das obige ist der detaillierte Inhalt vonEinfache Bedienung des Hash-Datentyps (Implementierung des Warenkorbfalls). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage