【问题标题】:Display nested lists in Codeigniter [closed]在 Codeigniter 中显示嵌套列表 [关闭]
【发布时间】:2014-07-03 07:44:37
【问题描述】:

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

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 作为框架,实现结果的最佳方法是什么?

【问题讨论】:

  • @All 感谢您的帮助

标签: php html mysql codeigniter


【解决方案1】:

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

$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 中遇到错误。{ 为 foreach() 提供的参数无效} 你能告诉我控制器吗?
  • 以上代码将在模型中,您应该返回 $result 并在控制器中通过 $data['result'] 将其发送到视图
猜你喜欢
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多