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

 更新时间:2017年08月24日 11:53:14   作者:Eden7  
本篇文章主要介绍了php 实现收藏功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

整理文档,搜刮出一个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);
        }
      }

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

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

相关文章

  • 微信支付之JSAPI公众号支付详解

    微信支付之JSAPI公众号支付详解

    这篇文章主要介绍了JSAPI公众号支付的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Laravel中表单size验证数字示例详解

    Laravel中表单size验证数字示例详解

    Laravel 的验证功能非常强大,基本上常见的需求都有对应的验证规则,下面这篇文章主要给大家介绍了关于Laravel中表单size验证数字的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-07-07
  • PHP编译安装中遇到的两个错误和解决方法

    PHP编译安装中遇到的两个错误和解决方法

    这篇文章主要介绍了PHP编译安装中遇到的两个错误和解决方法,环境是CentOS 64位下编译安装PHP5.4.8,需要的朋友可以参考下
    2014-08-08
  • PHP设计模式(四)原型模式Prototype实例详解【创建型】

    PHP设计模式(四)原型模式Prototype实例详解【创建型】

    这篇文章主要介绍了PHP设计模式:原型模式Prototype,结合实例形式详细分析了PHP原型模式Prototype的基本概念、功能、原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • laravel 自定义常量的两种方案

    laravel 自定义常量的两种方案

    今天小编就为大家整理了一篇laravel 自定义常量的两种方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 常用PHP封装分页工具类

    常用PHP封装分页工具类

    这篇文章主要为大家详细介绍了常用PHP封装分页工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • php生成唯一的订单函数分享

    php生成唯一的订单函数分享

    这篇文章主要给大家分享介绍了php生成唯一的订单函数,需要的朋友可以参考下
    2015-02-02
  • php中apc缓存使用示例

    php中apc缓存使用示例

    APC全称Alternative PHP Cache,可以缓存php的源码文件,也可以缓存用户数据,下面我们就安装一下他,看看如何查询缓存、修改缓存、删除缓存等功能
    2013-12-12
  • PHP dirname(__FILE__)原理及用法解析

    PHP dirname(__FILE__)原理及用法解析

    这篇文章主要介绍了PHP dirname(__FILE__)原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析

    CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析

    这篇文章主要介绍了CI框架源码解读之URI.php中_fetch_uri_string()函数用法,结合实例形式分析了CI框架中URL路由机制的原理与相关的config配置文件设置方法,需要的朋友可以参考下
    2016-05-05

最新评论