【发布时间】:2017-10-18 10:03:34
【问题描述】:
使用 Codeigniter 3 和 PHP 我已经构建了一个 Web 应用程序来显示来自 MySQL 数据库的结果。一切都按预期工作,分页成功允许用户导航页面,并在每页显示正确数量的结果。
我的问题是分页导航栏上的链接似乎总是太多。
例如,我将从我的数据库中返回 79 条记录,每页显示 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();
我的网址结构如下;
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;。
标签: php mysql codeigniter pagination codeigniter-3