簡體   English   中英

如何在Codeigniter中的javascript數組中不計算變量的次數?

[英]how to count no of times a variable is in a array in javascript in codeigniter?

嗨,大家好,我正在嘗試創建一個類似的系統,當用戶喜歡某個帖子時,它將被保存在該用戶喜歡該帖子的數據庫中,現在我需要計算“喜歡”完成的次數。現在我使用一列鍵入以保存喜歡的內容,只要有人單擊即可,但是當我檢索帖子中有多少喜歡的內容時,如何計算該帖子中有多少喜歡的內容。這是我的代碼

腳本

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()函數...它將是帖子上的like數量,並將其作為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用作帖子上的like總數。

如果您只需要從表中計數,那么我建議您僅從“ userpost_likes_share”表中選擇一列。.您可以僅選擇表的id(主鍵)以使代碼工作更快。

讓我知道您是否認為我做錯了並且以錯誤的方向回答...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM