我正在使用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;
思想?
答案 0 :(得分:1)
请添加此类型的base_url
http://example.com/search/?a=1&b=2
$page_config['base_url'] = http://example.com/search/?a=1&b=2;
答案 1 :(得分:1)
这是不正确的
$page_config['base_url'] = $this->config->item('app_root') . $_SERVER['REQUEST_URI'];
Codeigniter分页使用&page=n
添加config['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']);