0

我正在为我的博客创建存档视图。

我有一个如下所示的网址:

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

如何从数据库中获取 2012 年 5 月创建的所有博客文章???

我正在使用 mysql datetime 来存储创建的日期。数据库中的格式: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 中显示的月份和年份订购,只显示这些帖子???

4

2 回答 2

1

为了制作每月存档,我认为将帖子的月份和年份存储在表格的单独列中是个好主意,这样我们就可以轻松获取该月份和年份的数据。我认为使用当前日期格式将无法检查帖子的月份和年份,所以做一件事从帖子日期获取月份和年份并将它们存储在表格中,然后将月份和年份与存档月份和年份进行比较. 我认为以这种方式做到这一点会很容易。
希望这会对您有所帮助。

于 2012-06-11T12:12:15.147 回答
0

遵循这个层次结构,

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.

}
于 2012-06-11T12:59:44.317 回答