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. 

} 
相關問題