更改Codeigniter中分页的URL/URI
我正在使用Codeigniter中的分页类从数据库中分页出一些信息 这一切都很完美,但是,我正在尝试整理人们用来访问页面的URL 目前,我正在从URL中提取偏移量,并将其设置为每页20个结果:更改Codeigniter中分页的URL/URI,codeigniter,Codeigniter,我正在使用Codeigniter中的分页类从数据库中分页出一些信息 这一切都很完美,但是,我正在尝试整理人们用来访问页面的URL 目前,我正在从URL中提取偏移量,并将其设置为每页20个结果: http://www.mysite.com/page/20 因此,如果您转到(在本例中)第二页,它将从db条目20开始 问题是,首先,由于我将其设置为每页20个结果,这意味着我会得到像第4页那样的奇数URL 第二,这是一个双重数字,我想整理一下 基本上,我想做的是将URL设置为: http://www.
http://www.mysite.com/page/20
因此,如果您转到(在本例中)第二页,它将从db条目20开始
问题是,首先,由于我将其设置为每页20个结果,这意味着我会得到像第4页那样的奇数URL
第二,这是一个双重数字,我想整理一下
基本上,我想做的是将URL设置为:
http://www.mysite.com/page/2
http://www.mysite.com/page/3
http://www.mysite.com/page/4
等等
我将usepage number设置为TRUE,但问题是,当它应该是20、40、60时,它会将偏移量设置为2、3、4等
有什么想法吗?我在考虑在模型中进行某种计算,根据URL中的单个页码(当use page number设置为TRUE时),计算出它应该偏移多少条目。我似乎无法正确理解…在codeigniter中,url中的数字表示:每页行数
因此,如果您需要使用页码更改每页编号,请按如下方式更改代码: 控制器
class news extends CI_Controller{
function index($page = 'page', $page_number = 0){
$row_per_page = 20; // define page per page
// for example if page number == 4 then offset 80
$offset = $page_number * $row_per_page
// we need to request data from database
// we need this query "SELECT * FROM `mytable` limit 80,20"
// offset = 80 AND per page = 20
$this->db->get('mytable', $offser, $row_per_page);
$this->load->library('pagination');
// you can change this url by URI Routing and other solutions.
/*
change application/config/routes.php to nice url
$route['news/page/(:num)'] = "news/index/page/$1";
*/
$config['base_url'] = 'http://example.com/index.php/news/index/page/';
// Change $count_of_rows with your query num_rows you can use SQL_CALC_FOUND_ROWS
$config['total_rows'] = $count_of_wors;
$config['per_page'] = $row_per_page;
$this->pagination->initialize($config);
echo $this->pagination->create_links();
}
}
这很简单。享受CI好吧,我想我已经想好了。我所做的是将use_page_number设置为true。然后当我得到URL的偏移量时,我将其乘以10,然后再乘以10分钟,然后再乘以两倍。例如第4页(期望的偏移量是60),我做4*10=40。然后用10分钟得到30分,再加倍得到60分。简单的数学我想,可能不需要在这里问哈哈。请随意发布您的答案,并将其标记为已接受,以方便未来的访问者:)在我的代表达到100之前,我无法回答我自己的问题。啊,是的-忘记了代表的限制。我意识到这很旧,但您的数学已经过时了。偏移量为80将是第5页,而不是第4页。要获得正确的偏移量,它将是($page\u number-1)*$row\u每页。