codeigniter 2.1 では、チャネルをカテゴリ別に表示しようとしています。したがって、Film というカテゴリがある場合、Film 内のチャンネルのリストが表示されます。これを達成するために入れ子になった foreach ループを試しましたが、うまく動作しないようです。
私のテーブル構造は次のようなものですが、より複雑です:
私のモデル:
<?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 foreach ($category_chaneels as $category): ?> <div class="programe-tv_link"> <p><?=$category['category_name'];?></p> <dd> <a href=""> >> <?=$category['channel_name'];?></a></dd> </div> <?php endforeach; ?> </li> </ul>
コントローラー (ページ):
public function index() { $data['category_chaneels'] = $this->pages_model->get_channels_by_categ_tv(); $this->template->page_view($data); }
画像 1 と画像 2 を添付しました。1 ではなく画像 2 のような結果が必要です。
PS。1 つのチャネルに多くのカテゴリを含めることができます。
手伝って頂けますか ?THX