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 关注
- 113 浏览
添加回答
举报