Codeigniter 3とPHPを使用するMySQLデータベースの結果を表示するWebアプリケーションを構築しました。すべてが期待どおりに動作しているため、ユーザーはページをナビゲートでき、ページあたりの正しい結果が表示されます。Codeigniterページネーションが多すぎる
私が持っている問題は、ページングナビゲーションバーには常にリンクが多すぎるようです。
たとえば、データベースから79レコードを返し、1ページに10を表示します。したがって、ページネーションには8つのリンクしか表示されません。代わりに私は18のリンクを見ることができます。 9から18までのリンクは私を空白のページに連れて行きます。
私のコントローラコードは以下の通りです。
public function index() {
$config['base_url'] = '/items/index';
$config['use_page_numbers'] = FALSE;
$config['reuse_query_string'] = TRUE;
$config['total_rows'] = $this->db->get('item')->num_rows();
$config['per_page'] = 10;
$config['num_links'] = 10;
$config['full_tag_open'] = '<div><ul class="pagination">';
$config['full_tag_close'] = '</ul></div><!--pagination-->';
$config['first_link'] = '« First';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last »';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$config['next_link'] = 'Next →';
$config['next_tag_open'] = '<li class="next page">';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = '← Previous';
$config['prev_tag_open'] = '<li class="prev page">';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li class="page">';
$config['num_tag_close'] = '</li>';
$config['anchor_class'] = 'follow_link';
$this->load->library('pagination');
$this->pagination->initialize($config);
$data = array(
'items' => $this->items_model->itemList()
);
$this->load->view('item_list', $data);
}
私の見解は以下のとおりです。
echo $this->pagination->create_links();
My URLの構造は次のとおりです。
items/index // displays results 1-10
items/index/10 // displays results 11-20
items/index/20 // displays results 21-30
etc...
助けていただければ幸いです。 おかげ
'$ config ['uri_segment'] = 3;'を設定してみてください。 – Tpojka