PHP - переключения стрениц. Paginator. Алгоритм.
1.2..... 4.5.6.7.8..... 10.11
Подскажите алгоритм вычисления номеров страниц справа и слева и смещения в зависимости от текущей страницы...
К сожалению, я не понимаю, как заставить работать алгоритм в следующих вариантах:
1.2.3.4.5..... 11
1..3.4.5....11
1.... 9.10.11
Где жирным для примера выделены страницы, на которой мы находимся в текущий момент...
Есть ли не громоздкие алгоритмы вычисления, сколько страниц с каждой стороны от текущей???
С удовольствием приму ссылку на гугл или страницу, где подробно разбирается подобный алгоритм, потому как даже не знаю, как это правильно называется.
Спасибо.
Решение было найдено вполне себе внезапно...
Оно слегка деревянное, но позволяет получить необходимый результат.
http://true-coder.ru/php/pereklyuchateli-stranic-na-php.html
Все остальное - частные случаи, которые отрабатываются индивидуально. Обычно это 2-3 первые и 2-3 последние. Тупо IF.
А еще на этом форуме - текущая страница, это поле для ввода. Для перехода на произвольную страницу нужно ввести номер страницы и нажать Enter
Дальше выводишь 5 страниц от текущая-2 до текущая+2, соответственно задаёшь $from и $to таким образом:
если $current > 2
{
Если $from равно единице, то $from=2
Если $from больше двух, то вывести многоточие
вывести страницы от $from до $current-1
}
если $current больше единицы, вывести $current
Проделать всё аналогично для $to
Если алгоритм, то просто возьми и распиши на бумаге пошагово как бы делал. Входные данные это: текущая страница, общее количество элементов, количество элементов на страницу. Это в первом приближении и будет алгоритм. Он достаточно простой.
Цитата: Kesano
Всем спасибо за участие.
Решение было найдено вполне себе внезапно...
Оно слегка деревянное, но позволяет получить необходимый результат.
http://true-coder.ru/php/pereklyuchateli-stranic-na-php.html
Решение было найдено вполне себе внезапно...
Оно слегка деревянное, но позволяет получить необходимый результат.
http://true-coder.ru/php/pereklyuchateli-stranic-na-php.html
Ну хз, вот меня всегда бесило следующее:
Цитата:
Активна страница — 5. Всего страниц — 30
1 2 … 3 4 5 6 7 … 29 30
1 2 … 3 4 5 6 7 … 29 30
Зачем скрывать одну цифру? Мне кажется это тупо.