如何在 Codeigniter 的 JavaScript 中计算变量在数组中的次数?



大家好,我正在尝试创建一个喜欢的系统,当用户喜欢一个帖子时,它会保存在该用户喜欢这篇文章的数据库中,现在我需要计算"喜欢"的次数已经完成。现在我使用列类型在有人点击时保存喜欢,但是当我检索帖子上有多少个赞时,我怎么能计算有多少个赞在这篇文章中完成,这是我的代码

脚本

function select_likes(post_id)
{
var Post_id=post_id;
var User_id = $('.id_data').attr('value');
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/select_likes"); ?>',
data: {Post_id:Post_id,User_id:User_id},
dataType: 'json', 
success:function(data)
{
var ParsedObject = JSON.stringify(data);            
var json = $.parseJSON(ParsedObject);
$.each(json, function (key, data) {
var likes=data.type;
// alert(likes);
var count=likes.length;
alert(count);
//           var post_id=data.post_id;
//           $post_id=post_id;
//           // alert(comment);
//            // // alert(post_id);
//            // var      div_list=document.getElementById('#comment_div').innerHTML='post_id;
//           // $("#comment_post_id").attr('value',$post_id);
var mediaID ='.likes'+post_id;
$(mediaID).append(likes); 
});
}
});
}

控制器

public function select_likes()
{
$Post_id=$this->input->post('Post_id');
$User_id=$this->input->post('User_id');
$this->load->model('Pmodel');
$select_likes=$this->Pmodel->select_likes_post_id($Post_id,$User_id);
// print_r($select_likes);
echo json_encode($select_likes);
}

public function select_likes_post_id($Post_id,$User_id)
{
$this->db->select('*');
$this->db->from('userpost_likes_share');
$this->db->where('post_id',$Post_id);    
$this->db->where('type','like');
$query=$this->db->get();
$likes=$query->result_array();
return $likes;
}

但是我怎么能计算呢? 是否可以在 JavScript 中计算变量调用的次数

只需在控制器count($select_likes)$select_likes上使用count()函数...它将是帖子上的点赞数,并尽可能json传递json_encode(array('like_count'=>$like_count))

所以在控制器代码中可以是这样的:

public function select_likes()
{
$Post_id=$this->input->post('Post_id');
$User_id=$this->input->post('User_id');
$this->load->model('Pmodel');
$select_likes=$this->Pmodel->select_likes_post_id($Post_id,$User_id);
$like_count = count($select_likes);
echo json_encode(array('like_count'=>$like_count));
}

在js脚本中使用,您可以使用data.like_count作为帖子上喜欢的总数。

如果您只需要从表中计数,那么我建议您仅从"userpost_likes_share"表中选择一列..您只能选择表的id(主键)以使代码更快地工作。

如果您认为我错了并回答错误的方向,请告诉我......

最新更新