php - CodeIgniter - 按月订购我的 'posts'?

标签 php mysql codeigniter count group-by

在我的网站中,我想创建一个“存档”列表来对我的帖子进行分类。

我的 posts 表是这样设置的: 编号 |帖子标题 |发表 |发布 |年份 |月

目前这个模型函数拉取帖子:

function getNews(){
     $data = array();
     $this->db->order_by("id", "desc");
     $Q = $this->db->get('posts');
     if ($Q->num_rows() > 0){
       foreach ($Q->result_array() as $row){
         $data[] = $row;
       }
    }
    $Q->free_result();  
    return $data;
}   

但是,我可以创建如下列表吗?

July (12)

June (5)

May (2)

所以它列出了月份和该月内的帖子数量?

到目前为止,我所有的尝试都以沮丧和泪水告终。任何帮助将不胜感激。

最佳答案

试试这个

SELECT  `year`,`month`,(SELECT COUNT(id) FROM `posts` WHERE `month` =p.`month`) AS c
FROM `posts` p  GROUP BY p.`month` ORDER BY `month`

function getNews(){
 $data = array();

 $Q = $this->db->query('SELECT `year`,`month`,(SELECT COUNT(id) FROM `posts` WHERE `month`=p.`month`) AS c FROM `posts` p  GROUP BY p.`month`ORDER BY `month`');
 if ($Q->num_rows() > 0){
   foreach ($Q->result_array() as $row){
     $data[] = $row;
   }
}
$Q->free_result();  
return $data;
}

关于php - CodeIgniter - 按月订购我的 'posts'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17073231/

相关文章:

javascript - 使用第 3 方表单跟踪 HubSpot 登陆页面的转化情况

php - 加载 xdebug 时 CakePHP 命令行不工作

php - mdate() 函数 codeigniter - 错误

php - CodeIgniter 分页 url 页码

php - 使用 CodeIgniter 的数据库查询将空值返回到数组中?

javascript - 在 Javascript 中回显 $

php - Codeigniter-如何在删除index.php后加载新页面

php - 如何同时从两个数据库中进行 SELECT?

mysql - "Failed TCP accept: emfile"在 Ejabberd

Python MySQL 查询结果返回额外的字符