thinkphp 收藏功能

发布网友 发布时间:2022-04-06 01:55

我来回答

2个回答

懂视网 时间:2022-04-06 06:17

php实现收藏功能的方法:首先创建前台代码,实现登录界面;然后通过if语句实现收藏功能;最后在PHP后台中实现收藏的处理功能即可。

推荐:《PHP视频教程》

php实现收藏功能

这是资料库表

2afda2175f927941b3f3e23bc80ce32.png

话不多说上代码

前台

<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 '伺服器出錯,請重試!';
  }
 }
 }
 }

热心网友 时间:2022-04-06 03:25

建立数据库 把文章id和用户id放到数据库中 按照该文章id和用户id在此数据库中查询是否有值 如果有那就代表已经收藏,反之则没有

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com