记录学习与后端知识并分享学习代码过程(会飞的鱼Blog)

分享一个php文章收藏功能 转载

会飞的鱼 0 1004 2020年1月16日

最近想在emlog也实现个文章收藏功能 然后百度阅读了N篇文章 最后找到了个教程还算完善的 本文转载非原创

下面直接进入教程

首先创建数据库表

js代码

<script>
    $(function(){
      $('#sc').click(function(){

          var gid=$(this).attr('data-id');
          var data={
            gid:gid
          };
          $.ajax({
            url:"{:U('Goods/collect_add')}", 
            type:"post",
            data:data,
            success:function(data){
              // window.clearInterval(timer);
                            if(data==1){
                                window.location.href="{:U('Public/login')}"; //登陆界面
                            }else {
                                if(data==2){
                                    $('#sc').css({
                                        'background-color':'white',
                                        'color':'#00ccff',
                                    });
                                    $('#sc_words').html(
                                        '收藏'
                                    );
                                }else if(data==3){
                                    $('#sc').css({
                                        'background-color':'#00ccff',
                                        'color':'white',
                                    });
                                    $('#sc_words').html(
                                        '已收藏'
                                    );
                                }else{
                                    alert(data);
                                }
                            }
            },
            error:function(){
              alert('请求失败');
            }
          });
      });
    })
</script>

html代码

<div id="sc" data-id="{$detail.id}" class="in_right">
        <p id="sc_words">收藏</p>
      </div>

php处理

// 商品收藏   1 代表未登录 2代表取消收藏  3 代表 收藏成功 
    public function collect_add(){
      if(empty(session('uid'))){
        echo '1';
      }else {
        $collect=M('collect');
        $gid=I('post.gid');
        //先确定是否已收藏
        $map['gid']=$gid;
        $map['uid']=session('uid');
        $data=$collect->where($map)->find();
        if($data){
          if($data['status']==1){
            $collect->where('id='.$data['id'])->setField('status',0);
            echo '2';
          }else{
            $collect->where('id='.$data['id'])->setField('status',1);
            echo '3';
          }
        }else{
          if($collect->create()){
            $collect->gid=$gid;
            $collect->create_time=get_date();
            $collect->uid=session('uid');
            $collect->status=1;
            $collect->add();
            echo '3';
          }else{
            echo '服务器出错,请重试!';
          }
        }
      }
    }
本文由 @会飞的鱼 于 2020-1-16 发布在 会飞的鱼Blog,如无特别说明,本博文章均为原创,转载请保留出处。

网友评论

    暂无评论

会飞的鱼 V

一条会飞的鱼!

745 文章
7274 评论
1071 万 阅读
8年 博龄
最新文章
最新评论
嘻嘻嘻
2个月前 (2024-03-19)

ThinkPHP实现用户注册、登录模块

标签

会飞的鱼 在线咨询

在线时间:9:00-22:00
周六、周日:14:00-22:00