首页 > 开发 > PHP > 正文

php 实现收藏功能的示例代码

2024-05-04 22:45:47
字体:
来源:转载
供稿:网友

整理文档,搜刮出一个php 实现收藏功能的示例代码,稍微整理精简一下做下分享。

HTML:

<a class = "x" id="{$photo.id}" uid="{$Think.session.uid}" status = "{$collect_pic}" href = "javascript:void(0);"><if condition = "$collect_num gt 0">  <span>取消收藏</span><else/><span>收藏</span></if></a>

Js:

//点击收藏,实现已收藏  $('.x').on('click',function(){    var Oa=$(this);    var id=Oa.attr('id');//获取图片id属性    var uid = Oa.attr('uid');//获取用户id    var status = Oa.attr('status'); //获取收藏状态 1收藏,0取消收藏    $.post('url',{id:id,uid:uid,status:status},function(msg){      if(msg.status==1){        Oa.find("span").text('取消收藏');        Oa.attr('status','1');      }else{        Oa.find("span").text('收藏');        Oa.attr('status','0');      }    },'json')  })

PHP:

//判断用户是否已收藏该图片      $data['uid'] = $_SESSION['uid'];      $data['pid'] = $pid;      $collect_pic = M('collect')->where($data)->getfield('status');      $this->collect_num = $collect_num;      $this->collect_pic = $collect_pic;//收藏成功    public function cang(){      $data['pid'] = isset($_POST['id'])?intval(trim($_POST['id'])):0;      $data['uid'] = $_SESSION['uid'];      //默认o收藏 1取消收藏      $status = isset($_POST['status'])?intval(trim($_POST['status'])):0;      $db = M('collect');      if($status == 0){        //数据组装,忽略        if(M('collect')->data($collect)->add()){          $msg['info'] = "ok";          $msg['status'] = 1;          $this->ajaxreturn($msg);          exit;                }else{          $msg['info'] = 'fail';          $msg['status'] = 1;          $this->ajaxreturn($msg);        }      }else{        //取消收藏        if($db->where($data)->delete()){          $msg['info'] = "ok";          $msg['status'] = 0;          $this->ajaxreturn($msg);          exit;        }else{          $msg['info'] = 'fail';          $msg['status'] = 0;          $this->ajaxreturn($msg);        }      }

思路:基本没什么难度,注意细节即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持错新站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表