[eluser]Juan Velandia[/eluser]
After some hours dealing with this and with some previous threads I came up with he solution
Model
Code:
function get_section_articles()
{
$this->db->select('cms_article.name AS article_name');
$this->db->select('cms_section.name AS section_name');
$this->db->select('cms_section.url_section');
$this->db->from('cms_article');
$this->db->join('cms_section','cms_article.url_section = cms_section.url_section', 'left');
$this->db->group_by('section_name');
$this->db->group_by('article_name');
$this->db->group_by('cms_section.url_section');
$this->db->order_by('section_name');
$query = $this->db->get();
$previous_section = null;
foreach($query->result() as $row) {
if ($row->url_section != $previous_section)
{
if ($previous_section != null)
{
$results[] = $section;
}
$section = array();
$section['url_section'] = $row->url_section;
$section['section_name'] = $row->section_name;
$section['articles'] = array();
$previous_section = $row->url_section;
}
$article = array();
$article['article_name'] = $row->article_name;
$section['articles'][] = $article;
}
if ($previous_section != 0)
{
$results[] = $section;
}
return $results;
}
controller
Code:
$data['section_articles'] = $this->section_content_model->get_section_articles();
view:
Code:
foreach ($section_articles as $section): ?>
<p><strong><?php echo $section['section_name'] ?></strong></p>
<?php foreach ($section['articles'] as $article): ?>
<p><?php echo $article['article_name'] ?></p>
<?php endforeach; ?>
<?php endforeach; ?>