我正在努力扩展我的知识,并构建一个迷你论坛。但是,我在我的代码中遇到了问题。
在论坛首页上,我想显示所有的论坛类别和子类别,就像这样:
类别1
- 子类别1
- 子类别2
- 子类别3
类别2
- 子类别4
- 子类别5
- 子类别6
如您所见,这是一种很普通的“论坛风格”。
但是,当我从数据库中获取结果时,它会返回重复的结果。在这种情况下,是重复的“论坛类别”。因此,它看起来像这样:
类别1
- 子类别1
类别1
- 子类别2
类别1
- 子类别3
...等等
这是获取所有类别等的模型:
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
}
?>
数据表结构
数据表 "catgories"
- id - 编号
- title - 标题
数据表 "sub_categories"
- id - 编号
- title - 标题
- categorie_id - 所属类别编号
那么,最简单的解决方法是什么呢?只用一条查询语句就可以吗?
如果您有任何疑问,请告诉我 :)