никак не могу разобраться с одним вопросом
есть класс навигатора
PHP:
скопировать код в буфер обмена
<?PHP class Navigator { function __construct($all,$pnumber,$query='') { $this->all=$all; $this->pnumber=$pnumber; $this->query=$query; $this->page=isset($_GET['page']) ? (int )$_GET['page'] : 1; } function start() { $this->num_pages=ceil($this->all/$this->pnumber); if (isset($_GET['last'])) $this->page=$this->num_pages; $this->start=$this->page*$this->pnumber-$this->pnumber; if ($this->page > $this->num_pages || $this->page < 1) { $this->page=1; $this->start=0; } return $this->start; } function navi() { if ($this->num_pages<2) return ''; $buff='<div class="navigator">'; for($pr = '', $i =1; $i <= $this->num_pages; $i++) { $buff.= $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 == '')? '' : ' ... ')); } return $buff.'</div>'; } } /*$arr=range(1,100); $n=new Navigator(100,5,'a=1'); echo $n->navi();*/ ?>
есть шаблон
CODE ( html):
скопировать код в буфер обмена
<a href="" class="page-far-left"></a> <a href="" class="page-left"></a> <div id="page-info">Page <strong>1</strong> / 15</div> <a href="" class="page-right"></a> <a href="" class="page-far-right"></a>
никак не могу понять, как в навигаторе заставить обсчитывать количество страниц и собственно засунуть его в эти строки.
В идеале, должна получиться листалка <<< << 1/100500 >> >>>(Отредактировано автором: 30 Августа, 2011 - 20:54:32)
|