У меня есть небольшой код проекта с Codeigniter, я просто застрял в запросе общего количества столбцов для отображения в представлении. Вот некоторые части моего кода, где я застреваю:
Модель:
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 есть 2 по полному числу = 4, тогда как фактическая общая строка равна 1 каждого столбца (клиента) = 2. Я прошу прощения за мой английский.
Это просто решается путем изменения запроса в модели:
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();
}
Затем используйте foreach в View, чтобы получить результат Count и Rows.