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

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

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

相关文章

  • windows 2008r2+php5.6.28环境搭建详细过程

    windows 2008r2+php5.6.28环境搭建详细过程

    这篇文章主要介绍了windows 2008r2+php5.6.28环境搭建详细过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Laravel如何创建服务器提供者实例代码

    Laravel如何创建服务器提供者实例代码

    这篇文章主要给大家介绍了关于Laravel如何创建服务器提供者的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 实例介绍PHP的Reflection反射机制

    实例介绍PHP的Reflection反射机制

    这篇文章主要介绍了实例介绍PHP的Reflection反射机制,本文从使用Reflection获取一个类的信息角度来介绍PHP的Reflection反射机制,需要的朋友可以参考下
    2014-08-08
  • ThinkPHP3.2.3框架邮件发送功能图文实例详解

    ThinkPHP3.2.3框架邮件发送功能图文实例详解

    这篇文章主要介绍了ThinkPHP3.2.3框架邮件发送功能,结合图文与实例形式详细分析了基于thinkPHP框架进行邮件发送的相关原理、配置及操作技巧,需要的朋友可以参考下
    2019-04-04
  • Laravel中encrypt和decrypt的实现方法

    Laravel中encrypt和decrypt的实现方法

    这篇文章主要给大家介绍了关于Laravel中encrypt和decrypt的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • PHP实现使用优酷土豆视频地址获取swf播放器分享地址

    PHP实现使用优酷土豆视频地址获取swf播放器分享地址

    这篇文章主要介绍了PHP实现使用优酷土豆视频地址获取swf播放器分享地址,即分析优酷土豆的视频页面地址,从而获得对应的swf播放器分享地址,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP框架下微信支付功能总结踩坑笔记

    ThinkPHP框架下微信支付功能总结踩坑笔记

    这篇文章主要介绍了ThinkPHP框架下微信支付功能总结踩坑笔记,结合实例形式总结分析了thinkPHP微信支付功能开发过程中遇到的各种问题与解决方法,需要的朋友可以参考下
    2019-04-04
  • php xml实例 留言本

    php xml实例 留言本

    实例学习制作xml留言本代码。
    2009-03-03
  • 如何在centos8自定义目录安装php7.3

    如何在centos8自定义目录安装php7.3

    在本文中我们将给大家介绍如何在centos8自定义目录安装php7.3,在选择要安装的PHP版本之前,请确保你的应用程序支持它,我们还将向你展示如何将PHP与Nginx和Apache集成,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • thinkphp6使用mysql悲观锁解决商品超卖问题的实现

    thinkphp6使用mysql悲观锁解决商品超卖问题的实现

    这篇文章主要介绍了thinkphp6使用mysql悲观锁解决商品超卖问题的实现
    2021-11-11

最新评论