如何计算相关表中的行数

时间:2011-07-17 11:44:16

标签: php mysql codeigniter

我的数据库中有两个表

物品 使用以下字段

id author post_date modify title section_id views features content post_status

节 使用以下字段

  • sec_id description slug category

我的模型中有一个函数可以返回所有部分

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;
        }

我在表格中显示

<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>

如果您发现有空标签,则表示该类别(部分)中的文章数量。

如何获得与每个类别相关的文章数量?

1 个答案:

答案 0 :(得分:2)

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