我用Codeigniter编写了我的小项目代码,只是停留在查询要在View中显示的特定列的总数。这是我的一些代码卡住的地方:
型号:
function get_dailyprob()
{
$date = date('d-m-Y');
$q1 = $this->db->select('client')->like('created_at', $date)->group_by('client')->get('histprob')->result();
$q2 = $this->db->like('created_at', $date)->count_all_results('histprob'); //HERE I HAVE NO IDEA HOW TO GET A TOTAL COUNT OF EACH ROWS THAT ALREADY GROUPED BY COLUMN client
return array('dp_client' => $q1, 'dp_count' => $q2);
}
控制器:
$data['dailyprobs'] = $this->skejuler_m->get_dailyprob();
查看:
<table class="table table-hover">
<?php if ($dailyprobs['dp_count'] > 0) {
foreach ($dailyprobs['dp_client'] as $dpc): ?>
<tr>
<td><?php echo $dpc->client; ?></td>
<td><span style="font-size:16px" class="badge bg-red"><?php echo $dailyprobs['dp_count']; ?></span></td>
</tr>
<?php endforeach; ?>
<tr><td><?php } else { echo 'No Issues!'; } ?></td></tr>
</table>
抱歉,解释令人困惑。我刚刚添加了View的图像。如图所示,American Standard / Grohe&App Sinarmas的总数均为2,每条= 2,而实际总行是每一列(客户)的1 =2。对不起,我的英语。
答案 0 :(得分:0)
它只是通过更改Model中的查询来解决的:
function get_dailyprob()
{
$date = date('d-m-Y');
$query = $this->db->select('*, COUNT(*) as cnt')->like('created_at', $date)->group_by('client')->get('histprob');
return $query->result();
}
然后在View中使用foreach获取计数和行结果。