Php 在Codeigniter中显示嵌套列表

Php 在Codeigniter中显示嵌套列表,php,html,mysql,codeigniter,Php,Html,Mysql,Codeigniter,我的数据库中有以下表格: projects(id, name) subprojects(id, project_id, name) 我想在嵌套列表中显示项目及其子项目。以下是一个例子: <ul> <li><a href="#">Project</a></li> <li><a href="#">Project</a> <ul> <

我的数据库中有以下表格:

projects(id, name)
subprojects(id, project_id, name)
我想在嵌套列表中显示项目及其子项目。以下是一个例子:

<ul>
    <li><a href="#">Project</a></li>
    <li><a href="#">Project</a>
        <ul>
            <li><a href="#">Sub Project</a></li>
            <li><a href="#">Sub Project</a></li>
        </ul>
    </li>
</ul>

我使用CodeIgniter作为框架,实现结果的最佳方法是什么?

您应该在每个项目结果数组中进行选择

$query = " select * from projects";
$query = $this->db->query($query);
$result = $query->result_array() ;
foreach($result as $key=>$value)
{
   $query = " select * from subprojects where project_id='".$value['id']."' ";
   $query = $this->db->query($query);
   $result[$key]['subproject'] = $query->result_array() ;
}
在视野之内

foreach($result as $row)
{
   echo " <li><a href='#'>".$row['name']."</a>";    
   if(isset($row['subproject']))
   {
    echo "<ul>";
    foreach($row['subproject'] as $sub)
    echo " <li><a href='#'>".$sub['name']."</a>";    
    echo "</ul>";
   }
   else
   {
    echo "</li>";
   }
}
foreach($result作为$row)
{
回声“
  • ”; if(isset($row['子项目]])) { 回声“
      ”; foreach($subproject'行作为$sub) 回声“
    • ”; 回声“
    ”; } 其他的 { 回声“
  • ”; } }
    @非常感谢您的帮助我在foreach中出错。{为foreach()提供的参数无效}您能给我看一下控制器吗?上面的代码将在模型中,您应该返回$result,并在控制器中通过$data['result'将其发送到视图中