2017-03-09 100 views
1

嗨,大家好我想创建一个类似的系统,当用户喜欢一个职位,它被保存在数据库中,这个用户已经喜欢这个职位,现在我需要计算的时间'喜欢'已经done.now我现在用列类型保存等等,只要有人点击,但是当我取回多少喜欢上一个帖子我怎么能算多少喜欢已在此post.here做是我的代码如何计算变量在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变量调用

回答

2

只需在控制器count($select_likes)使用count()功能上$select_likes ...这将是该职位的像数,把它作为jsonjson_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(主键),以使代码工作更快。

让我知道,如果你认为我得到错误,在错误的方向上的答案...

+1

花花公子它的工作感谢您的答复@AshishRaj –

相关问题