Разбиение на страницы Codeigniter не работает - PullRequest
0 голосов
/ 14 марта 2012

В последние дни я играю с пагинацией CI. Я уже настроил конфиг, и все работает отлично. В функции контроллера я создал несколько операторов IF, которые проверяют URL.

IF url is localhost/CI/index.php/controller/function/news
THEN return first page of results from database -> first page
BUT IF url is localhost/CI/index.php/controller/function/news/10
THEN return second page of results from database -> second page

Но есть проблема, потому что разбиение на страницы CI работает с навигацией, только если после функции контроллера есть количество результатов -> localhost / CI / index.php / controller / function / 10.

Есть ли обходной путь для навигации по URL, например, localhost / CI / index.php / controller / function / news / 10? (У меня есть новости, категории и другие функции, в которых я хотел бы показать некоторую основную информацию об этом.)

1 Ответ

0 голосов
/ 14 марта 2012

Прежде всего вам не нужны операторы if, чтобы проверить, является ли это первой страницей или второй и т. Д. Codeigniter будет отображать соответствующие данные. Но вы можете проверить, есть ли там номер страницы.

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

Таким образом, страница 1 будет: предел 5 (максимум на страницу), смещение: 0 (начиная с 0) Страница 2: ограничение 5 (максимум на страницу), смещение: 6

Обычно codeigniter проверяет, является ли сегмент URL (3 по умолчанию) действительным, если нет, то он переходит и получает страницу 1.

Возможно, сам код неправильный, возможно, вы захотите его опубликовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...