2017-03-09 19 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 –

相關問題