【问题标题】:i want to display subcategories right under parent category using codeigniter我想使用 codeigniter 在父类别下显示子类别
【发布时间】:2016-03-31 04:06:43
【问题描述】:

我只有一个表。一个字段下的所有类别名称和父类别字段都在那里。我的表结构如下

CREATE TABLE IF NOT EXISTS `jil_category` (
  `ctg_id` int(11) NOT NULL AUTO_INCREMENT,
  `ctg_name` varchar(255) NOT NULL,
  `ctg_section` int(11) NOT NULL,
  `ctg_details` text NOT NULL,
  `ctg_status` int(11) NOT NULL,
  `ctg_index` int(11) NOT NULL,
  `ctg_parent` int(11) NOT NULL,
  `ctg_image` varchar(300) NOT NULL,
  `ctg_dated` int(11) NOT NULL,
  `ctg_ipadd` varchar(30) NOT NULL,
  `ctg_ldated` int(11) NOT NULL,
  `ctg_lipadd` varchar(30) NOT NULL,
  PRIMARY KEY (`ctg_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=196 ;

如果有人知道解决办法,请帮忙

【问题讨论】:

    标签: php codeigniter codeigniter-2 codeigniter-3


    【解决方案1】:

    我给你举个例子

    function menu()
    {
        $menus = $this->db->get_where('jil_category', array('ctg_parent'=>0))->result();
        $data = [];
        foreach($menus as $menu)
        {
             $submenu = $this->db->get_where('jil_category',array('ctg_parent'=>$menu->ctg_id));
             if($submenu->num_rows()>0)
                 $menu->submenu = $submenu->result();
             else
                 $menu->submenu = [];
    
            $data[] = $menu;
        }
        $menudata['menus'] =$data;
        $this->load->view(index,$menudata);
    
    }
    

    在你看来

    foreach($menus as $menu)
    { ?>
        <li><?php echo $menu->ctg_name;
             if(!empty($menu->submenu)){ echo '<ul>';
              foreach($menu->submenu as $submenu){ ?>
                <li><?=$submenu->ctg_name?></li>
               <?php } echo '</ul>'; }?>
         </li>
     <?php } ?>
    

    【讨论】:

      【解决方案2】:

      你可以这样做。首先从表中选择不同的父类别。 使用 foreach 可以显示所有父类别。

      在 foreach 循环中,在 helper/controller 中创建一个函数,将 parent_cat_id 传递给该函数,然后获取该特定类别的所有子猫。就像:getSubCategories($parent_cat_id);

      如果表格中有一些子类别,该函数会返回数据,否则不会返回任何数据。

      如果您需要其他任何内容,请告诉我,如果这是解决方案,请 +1 回答。

      【讨论】:

      • Vinie 已为您粘贴示例代码。我告诉过你它是如何工作的。
      猜你喜欢
      • 2012-09-18
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多