Параметр пагинации CI продолжает добавляться к base_url

0

Я реализую список строк с разбивкой по страницам с помощью CodeIgniter. Проблема заключается в том, что он сохраняет appending &page=n каждый раз, когда я нажимаю на следующей странице.

например, изначально, если мой URL-адрес

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? Я думал, что он автоматически перепишет его.

pagination configs следующие.

$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;

Мысли?

Теги:
codeigniter
pagination

2 ответа

1
Лучший ответ

Это неверно

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

Codeigniter pagination add &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

Ваш базовый url должен быть исправлен и не быть динамичным. Должен быть

$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']);
1

Добавьте base_url этого типа

http://example.com/search/?a=1&b=2
$page_config['base_url'] = http://example.com/search/?a=1&b=2;
  • 0
    Хорошо, я ожидал, что это будет сделано автоматически, и я делаю некоторую ошибку

Ещё вопросы

Сообщество Overcoder
Наверх
Меню