【问题标题】:how to count number of rows in related table如何计算相关表中的行数
【发布时间】:2011-10-07 02:33:29
【问题描述】:

我的数据库中有两个表

文章 具有以下字段

id 作者 post_date 修改标题 section_id 查看精选内容 post_status

部分 具有以下字段

  • sec_id 描述 slug 类别

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

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>

如果你注意到有一个空标签。它是为了显示类别(部分)中的文章数量。

如何获取每个类别关联的文章数量?

【问题讨论】:

    标签: php mysql codeigniter


    【解决方案1】:
    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 
    

    【讨论】:

    • 感谢它的工作,我刚刚将 count(a.id) 修改为 count(a.id) 作为文章
    猜你喜欢
    • 2023-03-15
    • 2013-06-04
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    相关资源
    最近更新 更多