Sử dụng CASE
câu lệnh thay vì nhiều truy vấn
Mô hình:
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');
}
Xem:
Không tạo HTML trong bộ điều khiển vì đó là một thực tiễn không tốt trong MVC. Sử dụng foreach
lặp lại trong tệp chế độ xem để hiển thị các giá trị Đọc thêm về Chế độ xem 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>
Đọc thêm về Tuyên bố trường hợp MySQL