我正在努力扩展我的知识,并建立一个迷你论坛。虽然,我的代码有问题。
在论坛索引页面上,我想显示所有具有子类别的论坛类别,如下所示:
第1类
第2类
如你所见,它有点像普通的论坛风格"。
但是,当我从数据库中获取结果时,它会返回重复的结果。在这种情况下,重复"论坛类别"。所以它看起来像这样:
第1类
第1类
第1类
......等等
这是我的模型,它获取所有类别等: categories.php
function GetCategories()
{
$this->db->select('*, categories.title as cat_title')->from('categories')-> join('sub_categories', 'sub_categories.categorie_id = categories.id');
$categories = $this->db->get();
print_r($categories->result());
return $categories;
}
和我的论坛控制器:
function index()
{
$data['categories'] = $this->categories->GetCategories();
$this->load->view('forum/index', $data);
}
视图
<div class="forum-body">
<?php
foreach($categories->result() as $cate)
{
echo '<div class="categorie-head">'.$cate->cat_title.'</div>';
?>
<div class="categories-body">
<?php echo $cate->title;?>
</div>
<?php
}
?>
表格结构
表&#34; catgories&#34;
表&#34; sub_categories&#34;
那么,什么是easiset wa yto修复它?是否可以使用onlly一个查询?
如果您不理解,请告诉我。)
答案 0 :(得分:1)
试试这个:
<div class="forum-body">
<?php
$cat_title = '';
foreach($categories->result() as $cate)
{
if($cat_title != $cate->cat_title)
echo '<div class="categorie-head">'.($cat_title = $cate->cat_title).'</div>';
?>
<div class="categories-body">
<?php echo $cate->title;?>
</div>
<?php
}
?>
答案 1 :(得分:0)
查询结果很可能显示如下:
Category 1 | sub-category 1
Category 1 | sub-category 2
Category 1 | sub-category 3
Category 2 | sub-category 4
Category 2 | sub-category 5
Category 2 | sub-category 6
...
只知道如何在视图中正确显示它。它可以通过多种方式实现。例如,连接按类别分组的子类别或PHP中的某些“IF”逻辑:
<div class="forum-body">
<?php
$cat_main = '';
foreach($categories->result() as $cate)
{
$cat_main = ($cat_main == $cate->cat_title) ? '' : $cate->cat_title;
if($cat_main != '') '<div class="categorie-head">'.$cate->cat_title.'</div>';
?>
<div class="categories-body">
<?php echo $cate->title;?>
</div>
<?php } ?>