在CodeIgniter中统计帖子的一个类别

时间:2018-09-28 12:34:24

标签: php sql codeigniter-3

我在count方面遇到问题,并发布了一个类别并显示它们。 我想在sidbar中显示类别,并根据帖子数对其进行计数。

例如。

  • num =有医疗帖子的数量为8
  • medical = 8

我的帖子表是“电子书” 我的类别表是“类别”

我的模特是:

    public function count_item(){
    $this->db->select('*');
    $this->db->from('categories');
    $this->db->join('ebooks', 'categories.cat_id = ebooks.cat_id');
    $this->db->where(array('ebooks.cat_id !=' => null, 'categories.cat_id != ' => NULL));
    $this->db->group_by(array('categories.cat_id', 'categories.name'));
    $query = $this->db->get();
    return $query->result_array();
}

我的控制者是:

  public function posts() {

    $data['posts'] = $this->post_model->get_posts();
    $data['categories'] = $this->categories_model->count_item();

    $this->load->view('inc/header');
    $this->load->view('posts/posts', $data);
    $this->load->view('inc/footer');

}

我的看法是:

 <div class="panel-body">
                    <?php foreach ($categories as $category): ?>
                    <ul class="list-group">
                        <li class="list-group-item"><a href="#"><?php 
                            echo $category['name']; 
                            ?><span class="badge" style="float: left">14</span></a></li>
                    </ul>
                    <?php endforeach; ?>
                    <div class="clearfix"></div>
                    <center><a href="" class="btn btn-primary">more details</a></center>
                </div>

我想在此处显示基于一个类别的帖子数: {HERE}

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

$this->db->select('categories.name as categories_name, COUNT(ebooks.cat_id) as categories_count');
$this->db->from('categories');
$this->db->join('ebooks', 'categories.cat_id = ebooks.cat_id');
$this->db->where(array('ebooks.cat_id !=' => null, 'categories.cat_id != ' => NULL));
$this->db->group_by('ebooks.cat_id');
$query = $this->db->get();
return $query->result_array();
相关问题