Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Постраничный вывод С ОГРАНИЧЕНИЕМ

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
samb100
Отправлено: 29 Июня, 2009 - 04:41:51
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




Есть такой код для постраничного вывода:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $p = 1;
  3. do {
  4.         if ($page == $p)
  5.                 { echo "<a href=cat.php?id_categ=$id_categ&page=$p><b><font size=4>$p</font></b></a>\n";
  6.                 }
  7.         else
  8.                 { echo "<a href=cat.php?id_categ=$id_categ&page=$p>$p</a>\n";
  9.                 }
  10.         $p++;
  11.         }      
  12. while ($p <= $total);
  13.  


где
// $page - это $_GET['page']
// $total - общее число записей в БД

Чтобы сделать постраничный вывод я делю общее количество записей в БД на желаемое количество записей
на одной странице и получаю число страниц. Далее с помощью формулы и LIMIT делаю постраничный вывод на страницы.
Всё это работает нормально.

Но скоро на сайте будет более 100 страниц, поэтому надо как-то ограничить число страниц на одной странице (сорри за тафтологию),
т.е. сначала выводятся 5 страниц, затем кликая на ">>" выводятся следующие 5 страниц и так далее,
пока не закончатся все страницы на сайте.

Как такое сделать?

Более наглядно это видно на скриншоте: http://mir44[dot]ru/tmp/page[dot]gif
 
 Top
Вездеход
Отправлено: 29 Июня, 2009 - 07:52:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




http://php.su/articles/?cat=exam...les&page=062
вот вам отличный пример. тут как раз все это есть


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Champion Супермодератор
Отправлено: 29 Июня, 2009 - 08:56:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ссылки на страницы ты выводишь циклом от начала до количества страниц...
А почему ты не пробовал выводить от $page - 5 (или от 1) до $page + 5 (или до конца), например?
 
 Top
samb100
Отправлено: 29 Июня, 2009 - 19:30:44
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




2Вездеход: Я видел эту статью "Постраничную навигацию" на php,
но там как-то нехорошо движется в списке страница,
а нужно немного другое,

посмотри на сайте http://add2[dot]ru/ там навигация вверху,
если клацнешь на ">>" то появляется список из следующей 20-ки страниц, и так далее - просто и понятно для юзера.

2Champion: да я сам думаю об этом +5, но в голове что-то не складывается в единую картину Недовольство, огорчение
 
 Top
JustUserR
Отправлено: 30 Июня, 2009 - 02:14:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




samb100 Кстати может это и не самое лучшее решение но часто выводят по принципу - первые 5 страниц последние 5 страниц и 5 страниц вокруг текущей страницы - то есть около 15 страниц на виду
Хотя мне кажется что для удобства должно быть поле или выпадающий список для перезода на любую произволую страницу одним щелчков (Без переходов по >> )


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB