在此代码中,单击“赞”按钮后,数据已添加到数据库中。我现在想要做的是我想在添加数据后,我会查询所选项目的总数并显示它而不加载页面。
这是我现在的代码:
我的看法:
<p id='state'><i class='fa fa-thumbs-up'></i><span id="likeThis"><?php echo $countLike;?></span> likes • <i class='fa fa-thumbs-down'></i><?php echo $countDisLike;?> dislikes •<i class='fa fa-thumbs-down'></i><a href='<?php echo base_url();?>index.php/photoCheese/deleteUploadPic/<?php echo $row['uploadID'];?>'>Delete Picture</a></p>
<input type="button" onclick="getVal(this.value)" class='detailButton1' name='like_name' id='like_id' value='<?php echo $link;?>' title='Like this post'><i class='fa fa-thumbs-up'></i> Like</input>
Javascript:
function getVal(value)
{
jQuery.ajax({
type:"GET",
url: "<?php echo base_url();?>index.php/photoCheese/like_total/",
dataType:'json',
data: {like_id : value},
success: function(res){
alert(res.no_likes);
if(res){
jQuery("#likeThis").html(res.no_likes);
}
}
});
Controller :
public function like_total(){
$id = $this->session->userdata('userID');
$upload = $this->input->get('like_id');
$data = array('like' => 1,
'userID'=>$id,
'uploadID'=>$_GET['like_id']);
$result = $this->photoCheese_model->get_like_total($data,$upload);
return json_encode($result);
}
模型:
public function get_like_total($data,$uplaod){
$success = $this->db->insert('tbl_like',$data);
if($success){
$this->db->select('uploadID,SUM(`like`) as no_likes',false);
$this->db->where('uploadID',$upload);
$this->db->where('like !=',2);
$query = $this->db->get();
}
return $query->result_array();
}
此代码不会显示 total_likes。这个有什么问题吗?
最佳答案
这对我来说似乎是一个不错的代码
public function like_total(){
$id = $this->session->userdata('userID');
$upload = $this->input->get('like_id');
$data = array('like' => 1,
'userID'=>$id,
'uploadID'=>$_GET['like_id']);
$result = $this->photoCheese_model->get_like_total($data,$upload);
return json_encode($result);
}
试一试..改变你的
return json_encode($result)
到
echo json_encode($result)
这个例子以后可能对你有帮助jquery ajax php example
关于ajax - 使用 Ajax 动态显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115944/