CI 分页参数不断追加到base_url



我正在使用CodeIgniter实现一个带有分页的行列表。问题是每次我单击下一页时,它都会不断附加&page=n

例如,最初如果我的网址是这样的

http://example.com/search/?a=1&b=2&page=1

当我点击第二页时,它变成了

http://example.com/search/?a=1&b=2&page=1&page=2

我尝试使用配置,但似乎无法正常工作。这和base_url有关吗?我应该动态创建没有最后一个参数base_url &page=n字符串吗?我以为它会自动重写它。

分页配置如下。

$page_config['base_url'] = $this->config->item('app_root') . $_SERVER['REQUEST_URI'];
$page_config['total_rows'] = $result['total'];
$page_config['per_page'] = 10;
$page_config['page_query_string'] = TRUE;
$page_config['query_string_segment'] = 'page';
$page_config['use_page_numbers'] = TRUE;

思潮?

这是

不正确

$page_config['base_url'] = $this->config->item('app_root') . $_SERVER['REQUEST_URI'];

代码点火器分页添加&page=nconfig['base_url']
但是您的base_url每次在不同的页面上都会更改

$page_config['base_url']='http://example.com/search/?a=1&b=2';//for first time and codeigniter added $page=1
$page_config['base_url']='http://example.com/search/?a=1&b=2&page=1';//for 2nd time and codeigniter added $page=2
$page_config['base_url']='http://example.com/search/?a=1&b=2&page=1&page=2';//for 3rd time and codeigniter added $page=3

您的基本网址应该是固定的,而不是动态的。它应该是

$page_config['base_url']='http://example.com/search/?a=1&b=2';

你可以这样做,但它很糟糕

$page_config['base_url'] = $this->config->item('app_root') . str_replace("&page=".$_GET['page'],"",$_SERVER['REQUEST_URI']);

请base_url此类型添加

http://example.com/search/?a=1&b=2
$page_config['base_url'] = http://example.com/search/?a=1&b=2;

最新更新