Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 17.11.2014
Сообщений: 7

Постраничный вывод

20.11.2015, 04:19. Показов 762. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста!
На многих сайтах замечал , что в постраничном выводе выделяется любая, нажатая кнопка до 5 вначале, а также если осталось 5 результатов.
Например: В MySQL , в таблице 100 строк.
В постраничной навигации выводим по 10 кнопок, нажимаем на любую кнопку до 5 , кнопка выделяется любая до 5, а уже дальше она стоит на месте выделенная и в самом конце, после 95 кнопки мы можем выделить любую до 100. А если стрелками перемещать, то она начинается выделяется с первой до пятой вначале и после 95 до стой.
Всё остальное время при нажатии кнопки до от 5 до 95 она стоит активная посредине на месте.

Вот что у меня:
Кликните здесь для просмотра всего текста
http://s1.radikale.ru/uploads/2015/11/20/b3258fcb4cc5d0d3ee36cd7c619acf83-full.png


Вот так хочу сделать:
Кликните здесь для просмотра всего текста
http://s1.radikale.ru/uploads/2015/11/20/88965ead996911397ea040e2bd5e3505-full.jpg


Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            if ($_GET['page'] <= 1 ){$_GET['page'] = 1 ;}
            
              
                                echo '<button class="btn"><a href="/news?page='.($_GET['page']-1).'">назад</a></button>';
                    
            for ($i = $_GET['page']; $i <= 9+$_GET['page']; $i++)
                {
                if ($i == $_GET['page']) {
                    
                                echo '<button class="btn btn-danger dropdown-toggle">'.($i).'</button>';
                } 
                else 
                {
                                echo '<button class="btn"><a href="/news?page='.($i).'">'.$i.'</a></button>';
                    
                }   
            }                   echo '<button class="btn"><a href="/news?page='.($_GET['page']+1).'">вперед</a></button>';
Миниатюры
Постраничный вывод   Постраничный вывод  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2015, 04:19
Ответы с готовыми решениями:

Постраничный вывод
Здравствуйте, у меня есть постраничный вывод, вот его скрипт: $num_item_pages_list = $armory; if (isset($_GET))...

Постраничный вывод
здравствуйте подскажите как правильно вписать постраничный вывод в мой код? вот сама функция постраничного вывода &lt;?php function...

Постраничный вывод
Привет!!! Вот код постраничного вывода записей, оно то работает, но выводит только записи на первой странице, остальные страницы пустые....

2
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
20.11.2015, 15:49
Цитата Сообщение от PHP-LOVE Посмотреть сообщение
нажимаем на любую кнопку до 5 , кнопка выделяется любая до 5
первый if()
Цитата Сообщение от PHP-LOVE Посмотреть сообщение
а уже дальше она стоит на месте выделенная и в самом конце
Второй if()
Цитата Сообщение от PHP-LOVE Посмотреть сообщение
после 95 кнопки мы можем выделить любую до 100
третий if()
Вместо
PHP
1
for ($i = $_GET['page']; $i <= 9+$_GET['page']; $i++)
Ифами определите с какой страницы по какую надо нарисовать. Будет всего три варианта развития событий.
0
0 / 0 / 1
Регистрация: 17.11.2014
Сообщений: 7
22.11.2015, 13:00  [ТС]
После долгой головоломки получилось сделать вот так.
Может кому пригодится.


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
<?php
$output = 50; //количество строк в таблице
$buton  = 11; //количество кнопок (для пропорции лучше нечетное число)
 
$pages = intval($_GET['page']); //получаем только числа, остальное не пройдёт
 
if ($pages <= 1) {
    $pages = 1;
    $back  = $pages;
} else {
    $back = $pages - 1;
} // чтобы не уйти в минус
if ($pages >= $output) {
    $pages = $output;
    $next  = $pages;
} else {
    $next = $pages + 1;
} // чтобы не уйти в плюс
 
$buton  = ($buton - 1); // убираем 0 из списка кнопок
$active = ceil($buton / 2); // получаем активную кнопку                   
$min    = ($pages - $active); // начало цикла
$max    = ($pages + $active); // условие цикла
$out    = ($output - $active); // предел кнопки "Вперед"           
$active = ($active + 1); // предел кнопки "Назад"
 
if ($pages < $active) {
    $min = 1;
    $max = $min + $buton;
} // если номер страницы меньше номера активной кнопки 
if ($pages > $out) {
    $max = $output;
    $min = $max - $buton;
} // если номер страницы меньше номера активной кнопки 
 
echo '<button class="btn"><a href="/news?page=' . $back . '">назад</a></button>';
for ($i = $min; $i <= $max; $i++) {
    if ($i == $pages) {
        echo '<button class="btn btn-danger dropdown-toggle">' . $i . '</button>';
    } else {
        echo '<button class="btn"><a href="/news?page=' . $i . '">' . $i . '</a></button>';
    }
}
echo '<button class="btn"><a href="/news?page=' . $next . '">вперед</a></button>';
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2015, 13:00
Помогаю со студенческими работами здесь

постраничный вывод
вот я создал файл каторый читает даные силки через мускул, их там до 50 штук и выводит все в одном файле как теперь мне зделать чтобы их...

Постраничный вывод
Всем добрый день! Есть код постраничного вывода из БД, все работает, но при нажатии на следующую страницу, не показывает следующие 10...

Постраничный вывод
Как сделать постраничный вывод этому скрипту &lt;?php $ret = $_SESSION; include('conf.php'); $quer =...

Постраничный вывод
Добрый вечер. Пишу сайт, нужен постраничный вывод новостей, погуглил, не нашел не чего толкового, взял один пример который был не...

Постраничный вывод из бд
Имеенся менюшка - Категория_1 view_cat.php?cat=1 - Категория_2 view_cat.php?cat=2 - Категория_3 view_cat.php?cat=3 в этих...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru