ホームページ >バックエンド開発 >PHPチュートリアル >ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)

ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)

PHPz
PHPzオリジナル
2017-04-04 14:56:451939ブラウズ

ここはどうですかインストールredisとphp redis拡張機能、主にredisハッシュデータ型

を呼び出すことに慣れています写真に示されています

ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


簡単な方法は次のとおりです

1:hSet

ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


2:hGet


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


4:hDel


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


5:hGetAll


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


4:hExists


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


5:hIncrBy


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)


シンプル

ショッピングカートの実装


ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)



ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)



ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)



ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)



ハッシュデータ型の簡単な操作(ショッピングカートケースの実装)



namespaceHomeController;

useThinkController;

useOrgNetH ttp;

useThink

キャッシュDriverRedis;

クラスIndexController拡張コントローラー

{

private $redis_obj=

null;

public functionconstruct()

{

$this->redis_obj=

newRedis();

}

/**

*@

file: 割引商品がショッピングカートに存在するかどうかを確認します

*@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: ショッピングカートに商品を追加します

*

*/

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

//追加された商品はありません

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'=>'商品は存在しません'));

}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 '=>'成功','num'=>$new_value));

}else{

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

}

}

}

}else{

$this->ajaxReturn(array('code'=>1,'msg'=>'param が空です') );

}

}

//移除商品

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'=>'成功を削除'));

}

}else{

$this->ajaxReturn(array(' code'=>1,'msg'=>'param が空です'));

}

}

//购物车列表

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 が空です'));

}

}

//设置一商品の数量

public functionedit_goods_num()

{

}

}

以上がハッシュデータ型の簡単な操作(ショッピングカートケースの実装)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。