如何从单个表创建 codeigniter 动态菜单

Posted

技术标签:

【中文标题】如何从单个表创建 codeigniter 动态菜单【英文标题】:How to create codeigniter dynamic menu from single table 【发布时间】:2018-10-07 20:06:36 【问题描述】:

我有一张这样的桌子 表名:菜单

Id menu submenu      childmenu
1. Oil. Edible.      Coconut oil
2. Oil. Edible.      Sunflowe oil
3. Oil. Non edible.  Deepa oil
4. Oil  non edible.  Coconut oil

我的预期输出是

Oil 
 Edible
   Coconut oil
   Sunflower oil
 Non edible
   Deepa oil
   Coconut oil

如何创建这样的菜单。谢谢你的回答

【问题讨论】:

如何创建这样的菜单。通过构建结构并在其上循环。 我需要在我的视图页面中循环播放。我不知道如何创建这样的模型和视图 我投票结束这个问题,因为用户没有努力解决他/她的问题。 【参考方案1】:

这应该可以帮助您入门。如果您已经阅读过文档(您应该阅读过),那么剩下的内容就很容易解释了。

$array = array(
    array(
        'id' => '1',
        'menu' => 'Oil',
        'submenu' => 'editable',
        'childmenu' => 'coco oil'
    ),
    array(
        'id' => '2',
        'menu' => 'Oil',
        'submenu' => 'editable',
        'childmenu' => 'sunflower'
    ),
    array(
        'id' => '3',
        'menu' => 'Oil2',
        'submenu' => 'noneditable',
        'childmenu' => 'deepa'
    ),
);
// CONTROLLER
$_data = array();
// $array will come from model result_array()
foreach ($array as $item) 
    $_data[$item['menu']][$item['submenu']][] = $item['childmenu'];

// send $_data to view
// VIEW
foreach ($_data as $menu => $submenu) 
    echo '<i>' . $menu . '</i><br>';
    foreach ($submenu as $name => $childmenu) 
        echo '<strong>' . $name . '</strong><br>';
        foreach ($childmenu as $item) 
            echo $item . '<br>';
        
    

本质上,我重新排列了数组以使其更易于使用。这样,我们就不必稍后在视图中检查 foreach 中的特定子菜单。

【讨论】:

以上是关于如何从单个表创建 codeigniter 动态菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 codeigniter 中将 class="active" 设置为导航菜单?

如何在 Codeigniter 中插入动态数据?

使用连接(codeigniter)从单个字段中检索和打印逗号分隔符后的值

单个 Django 模型,多个表?

使用 codeigniter 实现动态菜单/页眉/页脚的最佳方法

如何使用 codeigniter 动态创建列