Ошибка с разбиением на страницы, когда 2 переменные в URL на CodeIgniter - PullRequest
1 голос
/ 28 сентября 2011

Я все еще учусь на платформе CodeIgniter. Сегодня я столкнулся с проблемой нумерации страниц.

Действительно, у меня был бы доступ к данным через идентификатор, для которого требуется переменная в URL-адресе, а другая - для нумерации страниц.

Это моя функция foos_by_day (это не настоящее имя, это просто пример) в моем контроллере с именем foo, которая возвращает массив foos в определенный день. Эти foos поступают из моей базы данных и переходят в мой контроллер get_foos_by_day ($ day) через модель model_foos.

function foos_by_day($day) {
    $configpages['base_url'] = 'http://www.exemple.com/ci/index.php/foo/foos_by_days/'.$foo."/";
    $configpages['total_rows'] = count($this->model_foos->get_foos_by_day($foo));
    $configpages['per_page'] = 10;
    $config['uri_segment'] = 4;

    $this->pagination->initialize($configpages);
    $data['foos'] = $this->model_foos->get_foos_by_day($jour, (int)$this->uri->segment(4), $configpages['per_page'] );

    $this->load->view('foo_view.php', $data);
}

И это мое мнение:

<?php foreach ($foos as $element): ?>
    <div>
    Name of the foo : <?=$element->name?><br />
    Date of the foo : <?=$element->date?><br />
    </div>
<?php endforeach; ?>
<?php echo $this->pagination->create_links(); ?>

Я вижу что-то странное на мой взгляд при вводе: http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/

Нумерация моих 32 фоо начинается с 4 (последняя страница). Он отображает правильно 10 foos на страницы, но когда я нажимаю на другую страницу, выбранная страница остается четвертой. Более того, ссылки за номерами страниц дают мне следующее утверждение:

<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/">First</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/20">&lt;</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/10">2</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/20">3</a>
<strong>4</strong>

Итак: ничего, затем 20, 10 и 20 (снова). Короче есть ошибка в нумерации страниц.

Сталкивались ли вы когда-либо с такой ситуацией (с ошибкой нумерации страниц)? Если да, то как ты решил это? Как ты думаешь, как мне найти обычную нумерацию страниц?

Заранее спасибо.

P.S. : Я не удалил файл index.php, но научился делать это на другом CodeIgniter.

1 Ответ

1 голос
/ 28 сентября 2011

Изменение $config['uri_segment'] = 4; в $configpages['uri_segment'] = 4;

...