Maison >développement back-end >tutoriel php >Opération simple du type de données de hachage (implémentation du cas du panier d'achat)

Opération simple du type de données de hachage (implémentation du cas du panier d'achat)

PHPz
PHPzoriginal
2017-04-04 14:56:451939parcourir

Que diriez-vous de ne pas être encombrant iciInstallerredis et l'extension php redis , principalement familier avec la méthode simple d'appel du hachage redis type de données

comme le montre la figure

Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


Le fonctionnement est le suivant

1 : hSet

Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


2 : hGet


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


4:hDel


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


5:hGetAll


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


4:hExiste


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


5:hIncrBy


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)


Mise en œuvre simple du panier d'achat


Opération simple du type de données de hachage (implémentation du cas du panier d'achat)



Opération simple du type de données de hachage (implémentation du cas du panier d'achat)



Opération simple du type de données de hachage (implémentation du cas du panier d'achat)



Opération simple du type de données de hachage (implémentation du cas du panier d'achat)



Opération simple du type de données de hachage (implémentation du cas du panier d'achat)




namespaceHomeController;

useThinkController;

useOrgNetHttp;

useThinkCacheDriverRedis;

classIndexControllerextendsController

{

private$redis_obj=null;

public function construct()

{

$this->redis_obj=newRedis();

}

/**

*@fichier : Déterminez si le produit en promotion existe dans le panier

*@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 : Ajouter des articles au panier

*

*/

public functionadd_goods()

{

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

$goods_id= intval($_POST['goods_id']) ? ->goods_is_exist($user_id,$goods_id) ;

if

(!empty($user_id) &&$goods_id) {//Il n'y a aucun produit ajouté

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

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

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'=>'les marchandises n'existent pas '));

}elseif($existe) {

$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['id_utilisateur']) ? intval($_POST['user_id']) :0;

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

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

$arr=

explose

(',',$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'=>'supprimer le succès'));

}

}else{

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

}

}

//购物车列表

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

{

}

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn