如何使用CI中的ajax从DB中提取值

时间:2015-06-29 10:45:02

标签: javascript php jquery ajax codeigniter

我正在使用CI.2.2。我开发了像Facebook这样的喜欢/不喜欢的系统,并且可以完全将值更新为数据库成功。我的问题是我无法显示喜欢和不喜欢的数量。我怎么能摆脱这个。

查看页面

<script type="text/javascript" language="javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$(".voteMe").click(function() {
var voteId = this.id;
var upOrDown = voteId.split('_'); 
$.ajax({
type: "post",
url: '<?php echo base_url('family/voteme');?>',
cache: false,				
data:'voteId='+upOrDown[0] + '&upOrDown=' +upOrDown[1],
success: function(response){				
try{
if(response=='true'){	
alert(success);
var newValue = parseInt($("#"+voteId+'_result').text()) + 1; 
$("#"+voteId+'_result').html(newValue);
}else{alert('Sorry Unable to update..');
}
}catch(e) {		
alert('Exception while request..');
}		
},
error: function(){						
alert('Error while request..');
}
 });
});
});
</script>
<div>
<label>
<a class="voteMe" id="<?php echo $pts['familypost_id'];?>_upvote">
<i class="fa fa-thumbs-up"></i>
</a>
<span id="<?php echo $pts['familypost_id'];?>_upvote_result" ></span>
</label>
<label>
<a class="voteMe" id="<?php echo $pts['familypost_id'];?>_downvote">
<i class="fa fa-thumbs-down"></i>
</a>
<span id="<?php echo $pts['familypost_id'];?>_downvote_result" ></span>
</label>
</div>

控制器:

function voteme()
{
    $voteId=  $this->input->post('voteId');
    $upOrDown=  $this->input->post('upOrDown');

    $status ="false";
    $updateRecords = 0;

    if($upOrDown=='upvote'){
        $updateRecords = $this->family_model->updateUpVote($voteId);
    }else{
        $data['down_votes'] = $this->family_model->updateDownVote($voteId);
    }

    if($updateRecords>0){
        $status = "true";
    }
    echo $status;
}

型号:

function updateDownVote($voteId){
    $sql = "UPDATE posts set downvotes = downvotes+1 WHERE post_id=?";
    $this->db->query($sql, array($voteId));
    return $this->db->affected_rows();
    }

    function updateUpVote($voteId){
    $sql = "UPDATE posts set upvotes = upvotes+1 WHERE post_id=?";
    $this->db->query($sql, array($voteId));
    return $this->db->affected_rows();
    }

问题是可以完美地进行更新。但我不知道为什么不能表现出喜欢和不喜欢的数字。

Pl帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在控制台上调试ajax脚本并检查ajax是否正常工作然后从ajax中提醒结果,如果警报正常,那么检查你如何处理该结果。

我怀疑这一行。

url:'',因为url使用两次单引号,我的想法首先是双引号然后是单引号。