在 codeigniter 2.1 中,我尝试按类别显示频道。因此,如果我有一个名为“电影”的类别,我应该会看到电影中的频道列表。我尝试使用嵌套的 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 这样的结果。
附言。一个频道可以有多个类别。
Can you help me ? THX
在你看来,尝试一下
<?php $cat_shown = ''; ?>
<div class="programe-tv_link">
<?php foreach ($category_chaneels as $category): ?>
<?php
if ($cat_shown != $category['category_name']) {
echo '<p>' . $category['category_name'] . '</p>';
$cat_shown = $category['category_name'];
}
?>
<dd><a href=""> >> <?=$category['channel_name'];?></a></dd>
<?php endforeach; ?>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)