Как создать динамическое меню codeigniter из одной таблицы - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть такая таблица Название таблицы: меню

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 Ответ

0 голосов
/ 27 апреля 2018

Это должно помочь вам начать. Все остальное не требует пояснений, если вы прочитали документы (которые вам следует).

$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 позже в представлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...