私は自分の知識を広げようとしており、ミニフォーラムを構築しています。ただし、コードに問題があります。
フォーラムのインデックス ページで、次のようにすべてのフォーラム カテゴリとサブカテゴリを表示したいと思います。
カテゴリー1
- サブカテゴリ 1
- サブカテゴリ 2
- サブカテゴリー3
カテゴリー2
- サブカテゴリ 4
- サブカテゴリ 5
- サブカテゴリ 6
ご覧のとおり、通常の「フォーラム スタイル」です。
しかし、データベースから結果を取得すると、重複した結果が返されます。この場合、「フォーラムのカテゴリ」を複製します。したがって、次のようになります。
カテゴリー1
- サブカテゴリ 1
カテゴリー1
- サブカテゴリ 2
カテゴリー1
- サブカテゴリ 3
... 等々
すべてのカテゴリなどを取得するモデルは次のとおりです。
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
}
?>
テーブル構造
テーブル「カテゴリ」
- ID
- 題名
テーブル「sub_categories」
- ID
- 題名
- カテゴリ_id
それで、それを修正するための最も簡単な方法は何ですか?1つのクエリだけで可能ですか?
わからないことがあれば教えてください:)