I have two tables in my database
articles With the following fields
id author post_date modification title section_id views featured content post_status
sections With the following fields
I have a function in my model to return all the sections
function get_all() {
$q = $this->db->select('sec_id,category,slug,description')
->from('sections')
->order_by('category','asc');
$ret['rows'] = $q->get()->result();
return $ret;
}
Am display this in a table
<div id="categories">
<div id="toolbar">
</div>
<table>
<thead class="table_header">
<tr>
<th><input type="checkbox" name="check_all" id="master_box" onclick="toggle(this)" /></th>
<?php foreach($fields as $field_name => $field_display):?>
<th><?php echo $field_display ?></th>
<?php endforeach; ?>
</tr>
</thead>
<tfoot class="table_header">
<tr>
<th><input type="checkbox" name="check_all" id="master_box" onclick="toggle(this)" /></th>
<?php foreach($fields as $field_name => $field_display):?>
<th><?php echo $field_display ?></th>
<?php endforeach; ?>
</tr>
</tfoot>
<tbody>
<?php foreach($categories as $cat):?>
<tr>
<td><input id="sec_id"name="id[]" type="checkbox" value="<?php echo $cat->sec_id; ?>" /></td>
<td><?php echo $cat->category; ?></td>
<td><?php echo $cat->description; ?></td>
<td><?php echo $cat->slug; ?></td>
<td></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
If you notice there is an empty tag.It is meant to display the number of articles in the category(section).
How do get the number of articles associated with each category?
SELECT s.sec_id,s.category,s.slug,s.description,COUNT(a.id) FROM sections s
LEFT JOIN articale a ON s.sec_id = a.section_id
WHERE 1
GROUP BY s.sec_id
ORDER BY s.category ASC