在 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,我需要图像 2 而不是 1 的结果。
PS。一个频道可以有多个类别。
你能帮助我吗 ?谢谢