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]   

> Описание: прикрутить класс навигатора к шаблону
DemoriaN
Отправлено: 30 Августа, 2011 - 20:53:23
Post Id


Новичок


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


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




никак не могу разобраться с одним вопросом
есть класс навигатора
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class Navigator
  3. {
  4.         function __construct($all,$pnumber,$query='')
  5.         {
  6.                 $this->all=$all;
  7.                 $this->pnumber=$pnumber;
  8.                 $this->query=$query;
  9.                 $this->page=isset($_GET['page']) ? (int)$_GET['page'] : 1;
  10.         }
  11.  
  12.         function start()
  13.         {
  14.                 $this->num_pages=ceil($this->all/$this->pnumber);
  15.                
  16.                 if (isset($_GET['last']))
  17.                 $this->page=$this->num_pages;
  18.                
  19.                 $this->start=$this->page*$this->pnumber-$this->pnumber;
  20.  
  21.                 if ($this->page > $this->num_pages || $this->page < 1)
  22.                 {
  23.                         $this->page=1;
  24.                         $this->start=0;
  25.                 }
  26.  
  27.                 return $this->start;
  28.         }
  29.  
  30.         function navi()
  31.         {
  32.                
  33.                 if ($this->num_pages<2)
  34.                 return '';             
  35.                
  36.                 $buff='<div class="navigator">';
  37.                
  38.     for($pr = '', $i =1; $i <= $this->num_pages; $i++)
  39.     {
  40.         $buff.=
  41.         $pr=(($i == 1 || $i == $this->num_pages || abs($i-$this->page) < 2) ? ($i == $this->page ? " [$i] " : ' <a href="'.$_SERVER['SCRIPT_NAME'].'?module=viewnews&page='.$i.'&'.$this->query.'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
  42.     }
  43.                 return $buff.'</div>';
  44.         }
  45.  
  46. }
  47.  
  48. /*$arr=range(1,100);
  49.  
  50. $n=new Navigator(100,5,'a=1');
  51.  
  52. echo $n->navi();*/
  53. ?>
  54.  


есть шаблон
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="" class="page-far-left"></a>
  3.                                 <a href="" class="page-left"></a>
  4.                                 <div id="page-info">Page <strong>1</strong> / 15</div>
  5.                                 <a href="" class="page-right"></a>
  6.                                 <a href="" class="page-far-right"></a>
  7.  

никак не могу понять, как в навигаторе заставить обсчитывать количество страниц и собственно засунуть его в эти строки.
В идеале, должна получиться листалка <<< << 1/100500 >> >>>

(Отредактировано автором: 30 Августа, 2011 - 20:54:32)

 
 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