PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php如何实现收藏功能

藏色散人
藏色散人 原创
2020-09-28 10:12:54 2766浏览

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

推荐:《PHP视频教程》 

php实现收藏功能

这是资料库表

2afda2175f927941b3f3e23bc80ce32.png

话不多说上代码

前台

<script>
    $(function(){
      $(&#39;#sc&#39;).click(function(){
          var gid=$(this).attr(&#39;data-id&#39;);
          var data={
            gid:gid
          };
          $.ajax({
            url:"{:U(&#39;Goods/collect_add&#39;)}", 
            type:"post",
            data:data,
            success:function(data){
              // window.clearInterval(timer);
                            if(data==1){
                                window.location.href="{:U(&#39;Public/login&#39;)}"; //登录界面
                            }else {
                                if(data==2){
                                    $(&#39;#sc&#39;).css({
                                        &#39;background-color&#39;:&#39;white&#39;,
                                        &#39;color&#39;:&#39;#00ccff&#39;,
                                    });
                                    $(&#39;#sc_words&#39;).html(
                                        &#39;收藏&#39;
                                    );
                                }else if(data==3){
                                    $(&#39;#sc&#39;).css({
                                        &#39;background-color&#39;:&#39;#00ccff&#39;,
                                        &#39;color&#39;:&#39;white&#39;,
                                    });
                                    $(&#39;#sc_words&#39;).html(
                                        &#39;已收藏&#39;
                                    );
                                }else{
                                    alert(data);
                                }
                            }
            },
            error:function(){
              alert(&#39;請求失敗&#39;);
            }
          });
      });
    })
</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(&#39;uid&#39;))){
        echo &#39;1&#39;;
      }else {
        $collect=M(&#39;collect&#39;);
        $gid=I(&#39;post.gid&#39;);
        //先確定是否已收藏
        $map[&#39;gid&#39;]=$gid;
        $map[&#39;uid&#39;]=session(&#39;uid&#39;);
        $data=$collect->where($map)->find();
        if($data){
          if($data[&#39;status&#39;]==1){
            $collect->where(&#39;id=&#39;.$data[&#39;id&#39;])->setField(&#39;status&#39;,0);
            echo &#39;2&#39;;
          }else{
            $collect->where(&#39;id=&#39;.$data[&#39;id&#39;])->setField(&#39;status&#39;,1);
            echo &#39;3&#39;;
          }
        }else{
          if($collect->create()){
            $collect->gid=$gid;
            $collect->create_time=get_date();
            $collect->uid=session(&#39;uid&#39;);
            $collect->status=1;
            $collect->add();
            echo &#39;3&#39;;
          }else{
            echo &#39;伺服器出錯,請重試!&#39;;
          }
        }
      }
    }
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。