首頁 >後端開發 >PHP問題 >php如何實現收藏功能

php如何實現收藏功能

藏色散人
藏色散人原創
2020-09-28 10:12:543044瀏覽

php實作收藏功能的方法:先建立前台程式碼,實作登入介面;然後透過if語句實現收藏功能;最後在PHP後台實現收藏的處理功能即可。

php如何實現收藏功能

推薦:《PHP影片教學》 

php實作收藏功能

這是資料庫表

php如何實現收藏功能

話不多說上程式碼

前台

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

以上是php如何實現收藏功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn