gpt4 book ai didi

php - 代码点火器 : SQL join causing duplicate results

转载 作者:搜寻专家 更新时间:2023-10-31 21:37:41 25 4
gpt4 key购买 nike

我正在尝试扩展我的知识,并建立一个迷你论坛。不过,我的代码有问题。

在论坛索引页面上,我想显示所有带有子类别的论坛类别,如下所示:

类别 1

  • 子类别 1
  • 子类别 2
  • 子类别 3

第 2 类

  • 子类别 4
  • 子类别 5
  • 子类别 6

如您所见,它有点像正常的“论坛风格”。

但是,当我从数据库中获取结果时,它返回了重复的结果。在这种情况下,复制“论坛类别”。所以它看起来像这样:

类别 1

  • 子类别 1

类别 1

  • 子类别 2

类别 1

  • 子类别 3

...等等

这是我的模型,它获取所有类别等:类别.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);
}

和 View

<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
}
?>

表结构

表“类别”

  • 编号
  • 标题

表“子类别”

  • 编号
  • 标题
  • 类别编号

那么,修复它的简单方法是什么?是否可以只查询一次?

如果您不明白,请告诉我:)

最佳答案

试试这个:

<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
}
?>

关于php - 代码点火器 : SQL join causing duplicate results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com