在我的网站中,我想创建一个“存档”列表来对我的帖子进行分类。
我的 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/