2012-06-11 37 views
0

我正在为我的博客创建存档视图。如何在codeigniter的特定时间段内显示数据?

我有一个网址,格式如下:

www.mydomain.com/blog/archive/2012-May 

如何我可以从数据库中2012年5月期间创建的所有博客文章???

我正在使用mysql datetime来存储创建的日期。格式DB:2012-03-14 14:39:47

这是我到目前为止的代码:

function get_archive_posts(){ 

    $data = ''; 

//NEED TO GROUP AND GET BY DATE AND YEAR IN URL 

     $this->db->order_by('date','desc'); 
     $query = $this->db->get('blog'); 
     foreach ($query->result() as $row) { 
      $data[] = array(
       'id' => $row->id, 
       'date' => $row->date, 
       'title' => $row->title, 
       'content' => $row->content, 
       'category' => $row->category, 
       'author' => $row->author 
      ); 
     } 
     return $data; 
    } 

我如何通过月份和年份才能在URL显示,仅显示了这些职位???

回答

1

为了制作月度归档,我认为将该帖子的月份和年份存储在表格的单独列中是个好主意,这样我们可以轻松获取该月份和年份内的数据。我认为在当前的日期格式下,不可能检查帖子的月份和年份,因此有一件事可以从帖子日期中得到月份和年份,并将它们存储在表格中,然后比较月份和年份与存档月份和年份。我认为这样做很容易。
希望这会帮助你。

0

按照此hierarchi,

www.domain.com/blog/archieve/2012/may

和你blog控制器内部创建变量的函数。如:

function archieve($year='A_DEFAULT_VALUE_FOR_HERE', $month='A_DEFAULT_VALUE_FOR_HERE_TOO') { 

//You can here use 3rd and 4th segments (example: $year=$this->uri->segment(3); $month=$this->uri->segment(4);) as variables. 

} 
相关问题