Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для PEtrich
4 / 4 / 0
Регистрация: 14.09.2013
Сообщений: 91

Как ограничить количество страниц в пагинаторк

27.10.2013, 19:17. Показов 825. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста, как в пагинаторе при большом количестве страниц лишние страниы скрывать за троеточием:

1 ... 23 24 25 26 27 28 29 ...52

Вот сам код пагинатора
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 function generate_page_links($user_search, $sort, $cur_page, $num_pages) {
    $page_links = '';
 
    // If this page is not the first page, generate the "previous" link
    if ($cur_page > 1) {
      $page_links .= '<a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page - 1) . '"><-</a> ';
    }
    else {
      $page_links .= '<- ';
    }
 
    // Loop through the pages generating the page number links
    for ($i = 1; $i <= $num_pages; $i++) {
      if ($cur_page == $i) {
        $page_links .= ' ' . $i;
      }
      else {
        $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . $i . '"> ' . $i . '</a>';
      }
    }
 
    // If this page is not the last page, generate the "next" link
    if ($cur_page < $num_pages) {
      $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page + 1) . '">-></a>';
    }
    else {
      $page_links .= ' ->';
    }
 
    return $page_links;
  }
 
 if ($num_pages > 1) {
    echo generate_page_links($user_search, $sort, $cur_page, $num_pages);
  }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2013, 19:17
Ответы с готовыми решениями:

Как определить количество страниц в книге, если известна сумма его страниц?
Привет друзья. Не получается решать одну задачу. Как определить количество стр в книге, когда суммы его страницы известно. условия...

Как ограничить количество в MySQL
Доброго времени суток. Есть 2 таблицы, как пример. Таблица 1.(Тип издания) Название (Каждое уникально) Тип (Базовый или Эксклюзив)...

Как в подзапросе ограничить количество записей?
Например select id from nametable1 where titleId in (select id from nametable2 where abc&gt;5 limit 10);Только limit не работает. Видимо...

2
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
27.10.2013, 20:18
Логикой. Обычные if и for.
Советую использовать либо либы-паджинаторы, либо фреймворки с ними.
0
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
29.10.2013, 12:20
Проверьте вот это, если не сработает, то напишите в чем ошибка
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
    function generate_page_links($user_search, $sort, $cur_page, $num_pages) {
    $page_links = '';
 
    // If this page is not the first page, generate the "previous" link
    if ($cur_page > 1) {
      $page_links .= '<a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page - 1) . '"><-</a> ';
    }
    else {
      $page_links .= '<- ';
    }
 
    // Loop through the pages generating the page number links
    for ($i = 1; $i <= $num_pages; $i++) {
      if($cur_page > 5 && $i < ($cur_page - 3) && $num_pages > 5)
      {
        if($i == 1)
            echo '1 ...';
        continue;
      }
      if($cur_page < ($num_pages - 5) && $i > ($cur_page + 3) && $num_pages > 5)
      {
        if($i == $num_pages)
            echo '... '.$num_pages;
        continue;
      }
      if ($cur_page == $i) {
        $page_links .= ' ' . $i;
      }
      else {
        $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . $i . '"> ' . $i . '</a>';
      }
    }
 
    // If this page is not the last page, generate the "next" link
    if ($cur_page < $num_pages) {
      $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page + 1) . '">-></a>';
    }
    else {
      $page_links .= ' ->';
    }
 
    return $page_links;
  }
 
 if ($num_pages > 1) {
    echo generate_page_links($user_search, $sort, $cur_page, $num_pages);
  }
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2013, 12:20
Помогаю со студенческими работами здесь

Как ограничить количество цветов в изображении
Доброго времени суток уважаемые пользователи киберфорума! Подскажите пожалуйста как реализовать такую штуку Мне нужно в цветной...

Как ограничить количество выполняемых функций?
Приветствую Есть такая функция: function func(param,i){ $.ajax( { url: 'func.php?param=' + param, dataType: 'text',...

Как ограничить количество записей в таблице
Т.е если записей, например, 10 то запретить добавление

Как ограничить количество членов списка
есть объект возвращающий заполняемый список List. В некоторых случаях количество членов списка безгранично, а в некоторых нет. Как указать...

Как ограничить количество вводимых знаков?
Здравствуйте. Есть небольшой фрагмент кода: &lt;fieldset&gt; &lt;div class=&quot;editor-label&quot;&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru