我在其他帖子上问这个https://stackoverflow.com/a/14277726/1670630,但我的问题仍然存在。 在codeigniter 2.1中我试图按类别显示频道。所以,如果我有一个名为电影的类别,我应该看到电影中的频道列表。我尝试了一个嵌套的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>
我用ilustration
的图像 抱歉我的英语,如果你不打扰我,请写在这里。 THX提前。答案 0 :(得分: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>