2 回答

TA貢獻2080條經驗 獲得超4個贊
無需在代碼的第一行給出 'status' 列,只需使用 '$this->db->select('COUNT(*) as total');' 在第一行并使用帶有狀態列的 where 子句而不是在“group_by”子句中使用的“status”列。你可以試試下面的代碼:
public function count_rows($status)
{
$this->db->select('COUNT(*) as total');
$this->db->from('shopowner');
$this->db->where('status', $status);
$this->db->group_by('status');
$this->db->get();
}

TA貢獻1757條經驗 獲得超8個贊
如果您想在一個查詢中獲取所有統計信息,您可以使用以下代碼
$this->db->select('status, COUNT(status) as total');
$this->db->group_by('status');
$this->db->get('shopowner');
但是,如果您想獲得特定的狀態計數,則必須將狀態代碼添加到 where 參數中
$this->db->where(['status' => $status]);
$result = $this->db->get('shopowner');
echo $result->num_rows();
我希望這會幫助你)
private function count_rows($status) {
$this->db->where(['status' => $status]);
return $this->db->get('shopowner')->num_rows();
}
在您的控制器中
$data = [
'pending_approval' => $this->count_rows(4),
'approved' => $this->count_rows(2),
'rejected' => $this->count_rows(1)
];
$this->load->view('your_view', $data);
您可以使用<?=$approved?>調用 $data 項
- 2 回答
- 0 關注
- 148 瀏覽
添加回答
舉報