做了一個點贊功能,為什麼執行$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>
$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語句