Използвайте CASE
изявление вместо множество заявки
Модел:
public function summary($st_date,$end_date){
$this->db->select("
SUM(CASE WHEN status = 'D' THEN 1 END) AS draft,
SUM(CASE WHEN status = 'N' THEN 1 END) AS unpublish,
SUM(CASE WHEN status = 'Y' THEN 1 END) AS publish"
);
$this->db->where('added_date >=', $st_date);
$this->db->where('added_date <=', $end_date);
return $this->db->get('crm_listings');
}
Преглед:
Не правете HTML в контролера, защото това е лоша практика в MVC. Използвайте foreach
завъртете във файла за преглед, за да покажете стойности. Прочетете повече за от CI изгледи
<div class="table-responsive">
<table class="table table-bordered table-striped">
<tr>
<th>Draft</th>
<th>Unpublish</th>
<th>Publish</th>
</tr>
<?php
if(isset($data) && count($data) > 0){
foreach($data as $row ){ ?>
<tr>
<td><?= $row->draft ?></td>
<td><?= $row->unpublish ?></td>
<td><?= $row->publish ?></td>
</tr>
<?php } //Foreach end here
} else { ?>
<tr>
<td colspan="5">No Data Found</td>
</tr>
<?php } ?>
</table>
Прочетете повече за MySQL Case Statement