Php 如何将子列表分组到数据库记录codeigniter中的特定列表?

Php 如何将子列表分组到数据库记录codeigniter中的特定列表?,php,codeigniter,Php,Codeigniter,我知道可以使用数据库中的记录将子列表分组到php中的特定列表中,但我很难获得它。例如,我有一个类似于包和鞋的列表类型。现在我想根据物品的类型显示物品列表,即包和鞋。这些物品将作为包和鞋的子列表列出。现在的问题是,我只是在php中使用foreach函数循环使用 要实现的示例输出: 袋子 背包 水桶袋 行李袋 鞋 凉鞋 靴子 公寓 控制器: $data['items'] = $this->item_model->get_items('items'); $this->load

我知道可以使用数据库中的记录将子列表分组到php中的特定列表中,但我很难获得它。例如,我有一个类似于的列表类型。现在我想根据物品的类型显示物品列表,即包和鞋。这些物品将作为包和鞋的子列表列出。现在的问题是,我只是在php中使用foreach函数循环使用

要实现的示例输出:

袋子

  • 背包
  • 水桶袋
  • 行李袋

  • 凉鞋
  • 靴子
  • 公寓
控制器:

$data['items'] = $this->item_model->get_items('items');
$this->load->view('items', $data);
型号:

public function get_items () {
  $output = $this->db->get('items');
  return $output->result();
 }
视图:


  • ://包或鞋
    • : 完成 //项目名称

    利用
    数组
    ,将输出相应地安排在关联数组中,然后按您希望的任何顺序调用,我认为以下内容可能有助于您实现所需的结果-

    $list=[];
    函数get_子列表($title){
    返回“
    • : 完成
    '; } foreach($items作为$item){ 开关(strtolower($item->type)){ 箱包: $list['bags']['title']= “
  • :“.$item->type.”
  • ; @$list['bags']['sublist'].=get_sublist($item->item_title); 打破 案例“鞋”: $list['shoes']['title']= “
  • :“.$item->type.”
  • ; @$list['shoes']['sublist'].=get_sublist($item->item_title); 打破 //添加更多类型 } } echo$list['bags']['title']; echo$list['bags']['sublist']; 回声“
    ”; echo$list['shoes']['title']; echo$list['shoes']['sublist'];
    谢谢。这是有道理的。我等会再试试。这不能解决问题。我更喜欢看到基于CI结构的答案。
    <?php foreach ($items as $item):?>
      <li class="list-group-item view" draggble="true">
        <span class="handle">::</span> <?php echo $item->type; ?> //Bags or Shoes
      </li>
       <ul class="list-group list-group-sortable">
        <li class="list-group-item view"><span class="handle">::</span>
         <span class="badge badge-complete">Complete</span>
         <a href="#"><?php echo $item->item_title; ?></a> //Item title
        </li>
       </ul>
    <?php endforeach; ?>
    
    $list = [];
    
    function get_sublist($title){
      return '<ul class="list-group list-group-sortable">
            <li class="list-group-item view"><span class="handle">::</span>
             <span class="badge badge-complete">Complete</span>
             <a href="#">'.$title.'</a>
            </li>
           </ul>';
    }
    
     foreach ($items as $item){
        switch(strtolower($item->type)){
          case "bags":
            $list['bags']['title'] = 
             '<li class="list-group-item view" draggble="true">
                <span class="handle">::</span>'.$item->type.'</li>';
            @$list['bags']['sublist'] .= get_sublist($item->item_title);
          break;
          case "shoes":
            $list['shoes']['title'] = 
             '<li class="list-group-item view" draggble="true">
               <span class="handle">::</span>'.$item->type.'</li>';
            @$list['shoes']['sublist'] .= get_sublist($item->item_title);
          break;
          //add any more types
        }
    
     }
    
     echo $list['bags']['title'];
      echo $list['bags']['sublist'];
      echo "<br />";
       echo $list['shoes']['title'];
      echo $list['shoes']['sublist'];