【问题标题】:Multiple rows loop in PHP CIPHP CI中的多行循环
【发布时间】:2013-01-03 10:29:59
【问题描述】:

请帮助我在 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 一样的视图,其中仅在一个 &lt;li&gt; 标签中选择了所有内容;我需要像 IMAGE 2 这样的东西。

【问题讨论】:

    标签: php codeigniter loops foreach


    【解决方案1】:

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

    类似:

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

    我从Simpliste 布局中复制了这个,这对我来说真的很好。

    【讨论】:

    • 另外,我认为您只需要对您的类别项目使用
    • 嗨。克拉米尔和谢谢。这对我不起作用,我使用动态内容,我不知道
    • 的数量。
    【解决方案2】:

    我的最终解决方案是。

        <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>
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签