【问题标题】:How to group sublist to a specific list from database record codeigniter?如何从数据库记录codeigniter将子列表分组到特定列表?
【发布时间】:2016-04-05 06:31:45
【问题描述】:

我知道可以使用数据库中的记录将子列表分组到 php 中的特定列表,但我很难得到它。例如,我有一个列表类型,例如 BagsShoes 。现在我想根据它们的类型显示一个项目列表,即包和鞋。这些项目将被列为包和鞋的子列表。现在的问题是我只能在 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();
 }

查看:

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

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    利用arrays,将您的输出相应地排列在一个关联数组中,然后以您想要的任何顺序调用它,我认为以下内容可能会帮助您达到预期的结果 -

    $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'];
    

    【讨论】:

    • 谢谢。这是有道理的。我稍后再试试。
    • 这并不能解决问题。我更喜欢根据 CI 结构查看答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2012-06-30
    • 1970-01-01
    • 2015-08-05
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多