以下是我的代码,我不知道为什么它始终将第一页保留为当前页面。这就是为什么NEXT链接也无法正常工作的原因。
我也试过$config['uri_segment'] = 1;
但是没有工作。
问题在哪里?
$data['mukkadam_list'] = $this->get_mukkadam();
$data['from'] = $from;
$data['to'] = $to;
$data['mukkadam'] = $mukkadam;
$url = base_url('Report/teee/'.$from.'/'.$to.'/'.$mukkadam);
$config['base_url'] = $url;
$config['per_page'] = 50;
// Reports is model.
$config['total_rows'] = $this->Reports->counter($data['from'],$data['to'],$data['mukkadam']);
$config['num_links'] = $config['total_rows']/50;
$this->load->library('pagination');
$this->pagination->initialize($config);
谢谢你。 :)
答案 0 :(得分:3)
每当你要在Codeigniter中实现分页时,你需要记住两件事:
第一件事与页面生成相关的配置实际上是:
// Loads pagination library
$this->load->library('pagination');
// @params $url = your controller + method path
$config['base_url'] = base_url() . $url;
// @params $totalRows = Total result found in query
$config['total_rows'] = $totalRows;
// @params $perPage = In your case it is 50
$config['per_page'] = $perPage;
// @params $segment = This is what you are missing in your code. Segment is the factor from where system reads which page records need to be shown
$config['uri_segment'] = $segment;
$this->pagination->initialize($config);
第二件事与设计部件相关的分页配置:
$config['full_tag_open'] = '<ul class="pagination pagination-sm m-t-none m-b-none">';
$config['full_tag_close'] = '</ul>';
$config['prev_link'] = '<i class="fa fa-chevron-left"></i>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '<i class="fa fa-chevron-right"></i>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['first_link'] = '<i class="fa fa-chevron-left"></i> <i class="fa fa-chevron-left"></i>';
$config['last_link'] = '<i class="fa fa-chevron-right"></i><i class="fa fa-chevron-right"></i>';
$this->pagination->create_links();
这是我在项目中使用的正在运行的脚本。工作正常。您需要检查初始化期间传递的 uri_segment 。
如果您遇到任何问题,请告诉我。
答案 1 :(得分:2)
试试这个 -
$config = array();
$config["base_url"] = base_url() . "index.php/controller/methods";
$config["total_rows"] = $this->db->count_all("db_table_name");
$config["per_page"] = 20;
$config["uri_segment"] = 3;
$this->load->library("pagination");
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data["results"] = $this->db->limit($config["per_page"],$page)->get("db_table_name")->result();
$data["links"] = $this->pagination->create_links();
$this->load->view('view_page',$data);
view_page.php -
<table class="table-bordered">
<?php foreach($results as $v){?>
<tr>
<td><?php echo $v->col1; ?></td>
<td><?php echo $v->col2; ?></td>
</tr>
<?php } ?>
</table>
<?php print_r($links); ?>
答案 2 :(得分:1)
// Select query to count all possible records, and assing it to here
//$count =
//product pagination
$config['base_url'] = base_url() . 'index.php/report/teee/';
$config['total_rows'] = $count;
$config['per_page'] = 50;
$config['uri_segment'] = 3;
$limit = $config['per_page'];
// Bootstrap Stylings
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = false;
$config['last_link'] = false;
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['prev_link'] = '«';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '»';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['links'] = $this->pagination->create_links();
$data['dataSource'] = $this->Sample_Model->select_query_for_get_data($limit,$page);