1

私は他の投稿でこのhttps://stackoverflow.com/a/14277726/1670630を尋ねますが、私の問題はまだ存在します。codeigniter 2.1では、カテゴリ別にチャンネルを表示しようとしています。したがって、Filmというカテゴリがある場合は、Film内のチャンネルのリストが表示されます。これを実現するためにネストされたforeachループを試しましたが、slidshowで機能し、行数で制限されていないようです。私のモデル:

<?php

class Pages_model extends CI_Model {


function get_channels_by_categ_tv()
{

  $this->db->select('categories.category_name, channels.channel_name');
  $this->db->from('type_categ');
  $this->db->join('categories', 'categories.category_id = type_categ.category_id');
  $this->db->join('channels', 'channels.channel_id = type_categ.channel_id');
  $this->db->order_by('categories.category_id');
//$this->db->group_by(array('categories.category_id')); 
  $query = $this->db->get();

  if($query->num_rows() == 0)
  {
    #no channels
    return false;
  }

  return $query->result_array();
}

}

私はこれをビューに持っています:

<ul class="slides">
   <li>
      <?php $cat_shown = ''; ?>
         <div class="programe-tv_link">
                <?php $cat_show = ''; $cnl_show = '';?>
                <?php foreach ($category_chaneels as $category): ?>
                    <?php
                    if ($cat_show != $category['category_name']) {
                        $cat_show = $category['category_name'];
                        echo '<p>' . $cat_show . '</p>'; 
                    }
                    $cnl_show = $category['channel_name'];
                    echo '<dd><a href=""> >>' . $cnl_show . '</a></dd> '; 
                    ?>    
                <?php endforeach; ?>  
          </div>
     </li>
     <li>
              <div class="programe-tv_link">
                    <p>Arte</p>
                   <dd> <a href="">>> Acasa</a></dd>
                   <dd> <a href="">>> Antena 1</a></dd>
                   <dd> <a href="">>> Pro TV</a></dd>
                </div>
                <div class="programe-tv_link">
                    <p>Music Box</p>
                   <dd> <a href="">>> Acasa</a></dd>
                   <dd> <a href="">>> Antena 1</a></dd>
                   <dd> <a href="">>> Pro TV</a></dd>
                   <dd> <a href="">>> TLC</a></dd>
                </div>
      </li>
  </ul>

イラストでイメージをアタックします、ここに画像の説明を入力してください

私の英語をごめんなさい、そしてあなたが私を理解していないなら、ここに書いてください。事前にTHX。

4

1 に答える 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>
于 2013-01-30T15:17:07.490 に答える