[提問交流]做了一個點贊功能,為什麼執行$db->where($data)->setInc('like')返回false

發表於2019-05-11
做了一個點贊功能,為什麼執行$db->where($data)->setInc('like')返回false

 $data['id']=isset($_POST['id'])?intval(trim($_POST['id'])):0;

      $db = M('Document');
      //dump($db->where($data)->setInc('like'));
      if($db->where($data)->setInc('like')){
       $this->ajaxReturn($data,'ok',1);
     }else{
       $this->ajaxReturn($data,'fail',0);
     }

<script type="text/javascript">

        //點贊,cookie實現只能點選一次的效果
      $(".zan").live('click',function(){
        var Oa=$(this);
        var id=Oa.attr('id');//獲取id屬性
        var vl=Oa.find("span").text();
       vl=parseInt(vl)+1;
        if(!$.cookie(id)){
                  $.post('{:U("Article/praise")}',{id:id},function(data){
                     if(data.status==1){
                       alert('點贊+1');//模擬非同步資料加1
                       $.cookie(id,id);//改變flag初始值,確保函式只執行一次
                       Oa.find("span").text(vl);//頁面元素加1
                      }

                  },'json'); 
                 
        }else{
          alert('您已經點過讚了,不要重複哦!');
        }
        return false;
      })

</script>
回覆
程式碼最好用code標籤 你可以用頁面Trace或者模型類的_sql()方法除錯下SQL語句
評論

相關文章