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]   

> Описание: PHP
vitaliy_mad
Отправлено: 08 Ноября, 2010 - 23:18:46
Post Id


Участник


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


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




getPages (string url,integer pCount, integer pDisplay,string getVar='p')

Параметры:
url - адрес страницы куда будут направлять ссылки
pCount - количество страниц всего
pDisplay - Количество отображаемых страниц
getVar - переменная Используемая в GET для передачи номера страницы

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         function getPages($url,$pCount,$pDisplay,$getVar='p') {
  3.         // getPages('http://www.example.com/',155,15,'page');
  4.                 if (strpos($url,'?')!==false) {
  5.                         list($url,$params)=split('\?',$url);
  6.                         $params=split('&',$params);
  7.                         unset($pars);
  8.                         foreach($params as $par) {
  9.                                 list($name,$value)=split('=',$par);
  10.                                 if ($name===$getVar) continue;
  11.                                 $pars[]=$name.'='.$value;
  12.                         }
  13.                         $pars=implode('&',$pars);
  14.                 }
  15.                 if (isset($_GET[$getVar]))
  16.                         $currentPage=$_GET[$getVar];
  17.                 else
  18.                         $currentPage=1;
  19.                 $startPage=$currentPage-round($pDisplay/2);
  20.                 if ($startPage<=0)
  21.                         $startPage=1;
  22.                 if ($startPage>1) {
  23.                         echo '
  24.                         <a href="'.$url.'?'.$pars.((strlen($pars)>0)?'&':'').$getVar.'=1" title="To page 1"><<</a>
  25.                         <a href="'.$url.'?'.$pars.((strlen($pars)>0)?'&':'').$getVar.'='.($startPage-1).'" title="To page '.($startPage-1).'">< ...</a> ';
  26.                 }
  27.                 for ($i=$startPage;($i<$startPage+$pDisplay) and ($i<=$pCount);$i++) {
  28.                         if ($i==$currentPage) {
  29.                                 echo '<span class="curpage">'.$i.'</span> ';
  30.                                 continue;
  31.                         }
  32.                         echo '<a href="'.$url.'?'.$pars.((strlen($pars)>0)?'&':'').$getVar.'='.$i.'">'.$i.'</a> ';
  33.                 }
  34.                 if ($i<$pCount) {
  35.                         echo '<a href="'.$url.'?'.$pars.((strlen($pars)>0)?'&':'').$getVar.'='.($i).'" title="To page '.($i).'">... ></a> ';
  36.                         echo '<a href="'.$url.'?'.$pars.((strlen($pars)>0)?'&':'').$getVar.'='.($pCount).'" title="To page '.($pCount).'">>></a> ';
  37.                 }
  38.  
  39.         }
  40.  
  41. ?>


Пример:
PHP:
скопировать код в буфер обмена
  1. getPages('http://....../pages.php',150,10,'p');
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB