按日期分隔列表

时间:2013-02-08 14:53:03

标签: php list codeigniter

我想在实际日期示例08/02之后分别列出x事物,然后在另一个列表中添加07/02的x事物,日期保存在bd这里是我的一些代码试着做..

 <h1 id="date-title"><?php echo $fecha1 ?></h1>
            <div id="news-block">
                <?php
                $nombre=null;
                foreach ($programas as $programa) {
            if($programa->ingreso==Date("Y-m-d")){
                    if ($programa->nombre!= $nombre) {
                        $nombre = $programa->nombre;
                        echo "<h3 id='news-title'>".$programa->nombre."</h3>";
                    }
                    echo "<ul id='news-content'>";
                    echo $programa->titulo;
                    echo " </ul>";
               }else
               {
                $fecha_menos24hs = date('m-d',time()-(24*60*60));
                 echo "<h1 id='date-title'>$fecha_menos24hs</h1>"; 
                if ($programa->nombre!= $nombre) {
                        $nombre = $programa->nombre;
                        echo "<h3 id='news-title'>".$programa->nombre."</h3>";
                    }
                    echo "<ul id='news-content'>";
                    echo $programa->titulo;
                    echo " </ul>";

               }
            }

            ?>
           </div>

问题是在第二天它重复这段代码&#34; echo&#34; $ fecha_menos24hs&#34 ;; &#34;因为每个人,可能是你可以推荐我一个更好的主意..我不知道两个foreachs ..

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

我最好的猜测是你正在寻找这个输出或类似的东西:

<h1 class="date_title">Date</h1>
<div class="news_block">
    <h3>News Title</h3>
    <ul class="news_content">
        <li>Article Content</li>
    </ul>
</div>
<div class="news_block">
    <h3>News Title #2</h3>
    <ul class="news_content">
        <li>Article Content</li>
    </ul>
</div>
<h1 class="date_title">Date #2</h1>
....

我能想到的最简单的方法是在控制器中重构SQL结果。

//Ordering by the date with newest first
$this->db->order_by('DATE_COLUMN', 'DESC');
$results = $this->db->get()->result_array();
$article_list = array(array());
foreach ($results as $key)
{
    $article_list[$key['DATE_COLUMN']][] = $key;
}
$this->data['articles'] = $article_list;
$this->load->view('DISPLAY', $this->data);

然后我会在您的视图中使用几个循环来获得结果。

<?php foreach($articles as $key => $value): ?>
<h1 class="date-title">$key</h1>
    <?php foreach($value as $key2): ?>
<div class="news_block">
    <h3><?php echo $key2['title']; ?></h3>
    <ul class="news_content">
        <?php echo $key2['content']; ?>
    </ul>
</div>
    <?php endforeach; ?>
<?php endforeach; ?>