PHP CI中有多行循环

时间:2013-01-20 00:35:28

标签: php codeigniter loops foreach

请帮助我在PHP中查看(我正在使用CodeIgniter框架),如图2所示。 从数据库中我选择:

  • 分类1 - >第1项
  • 分类1 - ?第2项
  • ......
  • 分类2 - ?第1项
  • 分类x - >项目x

一个项目可以有多个分类。

     <div>
          <ul>
             <li>
                <div class="programe-tv_link">
                    <p>Categ 1</p> 
                   <dd> <a href="">>> Item 1</a></dd>
                   <dd> <a href="">>> Item 2</a></dd>
                   <dd> <a href="">>> Item 3</a></dd>
                   <dd> <a href="">>> Item 4</a></dd>
                   <dd> <a href="">>> Item 5</a></dd>
                </div>
                <div class="programe-tv_link">
                    <p>Categ 2</p>
                   <dd> <a href="">>> Item 1</a></dd>
                   <dd> <a href="">>> Item 6</a></dd>
                   <dd> <a href="">>> Item 7</a></dd>
                   <dd> <a href="">>> Item 8</a></dd>
                   <dd> <a href="">>> Item 9</a></dd>
                   <dd> <a href="">>> Item 2</a></dd>
                </div>
            </li>
            <li>
                <div class="programe-tv_link">
                    <p>Categ 5</p> 
                   <dd> <a href="">>> Item 1</a></dd>
                   <dd> <a href="">>> Item 2</a></dd>
                   <dd> <a href="">>> Item 3</a></dd>
                </div>
                <div class="programe-tv_link">
                    <p>Categ 4</p>
                   <dd> <a href="">>> Item 1</a></dd>
                </div>
            </li>
          </ul>
    </div>

我附上图片附图。我将视图设置为图像1,其中所有选项仅在一个<li>标记中被选中;我需要像IMAGE 2这样的东西。 enter image description here

2 个答案:

答案 0 :(得分:2)

我认为获得像image2这样的视图的好方法是使用一些CSS并为所有类别框创建一个类,将宽度设置为30%并浮动以允许其中的3个保持在同一行。< / p>

类似的东西:

.class_name {
    width : 31%;
    margin : 0 2% 0 0;
    float : left;
}

.class_name.wrapp {
    width : 33%;
    margin : 0;
}

我正在从Simpliste布局中复制它,这对我来说真的很好。

答案 1 :(得分:1)

我的最终解决方案是。

    <div id="programe-tv-slide" class="flexslider">
        <strong>Programe TV</strong>
        <div class="redLine"></div>

        <?php $cat_cnl = array(); 
              $list = array(); 
              $i=1;
                 foreach ($category_chaneels as $option) { 
                    $catname = $option['category_name'];
                    $chlname = $option['channel_name'];

                    $cat_cnl[$catname][$i] = $chlname;
                    $list[$i] = $catname;
              $i++;
                 }; 
        ?>
        <?php 
            $rows = array_chunk($cat_cnl, 4, TRUE);
            foreach ($rows as $row) {  //var_dump($rows);
        ?>

          <ul class="slides">    
            <?php
                echo ('<li>');
                foreach ($row as $category => $channels) {
                    echo '<div class="programe-tv_link">'; 
                    echo '<p>' . $category . '</p>'; 
                        foreach ($channels as $channel) {
                                echo '<dd><a href="">' . $channel . '</a></dd> '; 
                        };
                    echo '</div>'; 
                    };      
                echo ('</li>'); 
            ?>
          </ul>
          <?php }; ?>
    </div>