使用codeigniter显示按值分组的结果

时间:2013-11-02 19:01:58

标签: php codeigniter

问题1:

想要显示一些GROUPED事件如下:

年份

活动详情在这里

数据库具有以下结构:

    event_year | event_month | event_day | event_name | event_description
    2013       | 11          | 08        | Name 1     | Desc 1
    2013       | 12          | 31        | Name 2     | Desc 2
    2014       | 02          | 14        | Name 3     | Desc 2
    2014       | 03          | 25        | Name 4     | Desc 4

我希望它显示如下:

    2013
         November
         08/11/2013 - Name 1: Desc 1

         December 
         31/12/2013 - Name 2: Desc 2

    2014
         February
         14/02/2014 - Name 3: Desc 3

         March
         25/03/2014 - Name 4: Desc 4

问题2:

桌子上也有过去的事件,当然我们只想显示即将发生的事件。我该如何解决这个问题?截至目前,我设法显示所有事件,这些事情运作良好,我还想出了如何按年份和月份对它们进行排序,但它只给出了所有事件的列表,但没有分组。

以下是模型中的代码:

    function getEvents($limit = 20, $offset = 0) {
    $this->db->select('*');
    $this->db->from('events_posts');
    $this->db->limit($limit, $offset);
    $this->db->order_by('event_year', 'desc');      
    $b = $this->db->get()->result();
    return $b;
}

function getAllEvents() {
    $this->db->select('*');
    $this->db->from('events_posts');    
    $b = $this->db->get();
    return $b;
}

这是控制器:

    $events = $this->events_model->getEvents($config['per_page'], $from);
    $this->outputData['events'] = $events;
    $this->load->view('events/index',$this->outputData);

和我的观点页面:

    <?php foreach($events as $event) { ?>
    <a href="<?php echo site_url('events/view/' . $event->id); ?>"><h2><b><?php          
    echo $this->lang->line('Event:'); ?> <?php echo $event->title ?></b></h2></a>
    <?php echo $event->descriptions ?>
    <?php echo $event->event_day ?>/<?php echo $event->event_month ?>/<?php echo $event->event_year ?> a las <?php echo $event->event_hour ?>:<?php echo $event->event_min ?> horas     
<?php } ?>

0 个答案:

没有答案