2 つのクエリを使用してカウントを取得し、もう 1 つを使用して限定された結果を返すことができます。
モデルのように、カウント変数のみを返す関数を作成します
ページ分割された結果を生成する 2 つ目の関数を作成します。
例えば..
public function count($where){
$query = $this->db->query("select count(id) as count from clients $where");
return $query->row('count');
}
}
public function limit($sidx,$sord,$start,$limit,$where){
$query = $this->db->query("select * from clients $where ORDER BY $sidx $sord LIMIT $start , $limit");
if ($query->num_rows() > 0){
return $query->result_array();
}
}
そして、ここにコントローラーコードがあります
$where = // 計算
$count = count($this->model->count($where));
if( $count > 0 ) { $total_pages = ceil($count/$limit); } else { $total_pages = 0; }
if ($page > $total_pages) $page = $total_pages;
$start = $limit * $page - $limit;
$users = $this->model->limit($sidx,$sord,$start,$limit,$where);
...................