Все сделал:
Таблица "blog_categories" структура:
blog_categories_id
blog_categories_name
blog_parent_id
blog_categories_discription
Модель: pages_model
function get_cat() {
$query = $this->db->get('<i>blog_categories</i>'); // моя таблица
foreach($query->result_array() as $row ){
if(!$row['<i>blog_parent_id</i>']){ // если нет поля blog_parent_id, то есть подкатегории
$data[$row['<i>blog_categories_id</i>']][] = $row['<i>blog_categories_name</i>']; // выводим только назву категории
}else {
$data[$row['<i>blog_parent_id</i>']]['sub'][$row['<i>blog_categories_id</i>']] = $row['blog_categories_name']; // если есть подкатегории виводим их как асоциативный масив, насколько я понял
}
}
return $data;
}
Использую библиотеку для вывода сайта и туда передал массив $data:
$CI->load->view('inc/blog_right',$data);
Но можно и в конроллере передать:
$this>load->view('inc/blog_right',$data);
Передал в контроллер:
$data['blog_categories'] = $this->pages_model->get_cat();
И в виде blog_right (в моем случае) вивести:
<?php foreach($blog_categories as $key => $item): ?>
<?php if(count($item) > 1): // якщо це під категорія ?>
<li><a href="javascript:;"><?=$item[0]?></a>
<ul class="acc-menu no-circled">
<li><a href="<i>Нужно поставить ссылки</i>/<?=$key?>">Всі статті</a></li>
<?php foreach($item['sub'] as $key => $sub): ?>
<li><a href="<i>Нужно поставить ссылки</i>/<?=$key?>"><?=$sub?></a></li>
<?php endforeach; ?>
</ul></li>
<?php elseif($item[0]): // якщо це самостійна категорія ?>
<li><a href="<i>Нужно поставить ссылки</i>/<?=$key?>"><?=$item[0]?></a></li>
<?php endif; ?>
<?php endforeach; ?>
Можете проверить как должен выглядеть массив:
<?php print_r($blog_categories);?>
Array
(
[1] => Array
(
[0] => Програмування
[sub] => Array
(
[3] => Веб-розробка
[4] => вап в пва
)
)
[2] => Array
(
[0] => Веб-розробка
)
)
Чесно признаю взял решение с курса команды WebForMySelf. Чтобы не было рекламы, скажу только что курс о магазине.