<?php
class Navigator{
public $pages; //Количество страниц
public $p; //Текущая страница
public $c;//Всего объектов
public $start;//параметр для LIMIT
public function __construct($c, $e){
$this->pages = ceil($c / $e);
$this->c= $c;
$p = 1;
if(isset($_REQUEST[\'p\'])){
if($_REQUEST[\'p\'] == \'last\')
$p=$this->pages;
elseif($_REQUEST[\'p\'] <= ...
<?php
class Navigator{
public $pages; //Количество страниц
public $p; //Текущая страница
public $c;//Всего объектов
public $start;//параметр для LIMIT
public function __construct($c, $e){
$this->pages = ceil($c / $e);
$this->c= $c;
$p = 1;
if(isset($_REQUEST[\'p\'])){
if($_REQUEST[\'p\'] == \'last\')
$p=$this->pages;
elseif($_REQUEST[\'p\'] <= $this->pages){
$p = (int)$_REQUEST[\'p\'];
if($p < 1)
$p = 1;
}
}
$this->start = ($p - 1) * $e;
$this->p = $p;
}
public function print_nav($q){
//если больше 1 страници, то выводим навигацию
if($this->pages > 1){
echo\'<div class=\"post\">\';
//фперёд-назад
if($this->p > 1)
echo\'<a href=\"\'.$_SERVER[\'PHP_SELF\'].\'?p=\'.($this->p - 1).$q.\'\" accesskey=\"7\">«-Назад</a>\';
if($this->p < $this->pages && $this->p > 1)
echo\' | \';
if($this->p < $this->pages)
echo\'<a href=\"\'.$_SERVER[\'PHP_SELF\'].\'?p=\'.($this->p + 1).$q.\'\" accesskey=\"9\">Дальше-»</a>\';
}
echo\'<br/>
Страницы: \';
//дальше выводим цыферки
$prev=$this->p - 2;
$next=$this->p + 3;
if($prev < $this->c && $prev > 1)
echo\'<a href=\"\'.$_SERVER[\'PHP_SELF\'].\'?p=1\'.$q.\'\">1</a> ... \';
for($i = $prev; $i < $next; $i++)
{
if($i <= $this->pages && $i >= 1){
if($this->p == $i)
echo\'<strong>[\'.$i.\']</strong>\';
else
echo\' <a href=\"\'.$_SERVER[\'PHP_SELF\'].\'?p=\'.$i.$q.\'\">\'.$i.\'</a> \';
}
}
if($next <= $this->pages)
echo \' ... <a href=\"\'.$_SERVER[\'PHP_SELF\'].\'?p=\'.$this->pages.$q.\'\">\'.$this->pages.\'</a>\';
//а это форма
echo\'<form action=\"\'.$_SERVER[\'PHP_SELF\'].\'?\'.$q.\'\" method=\"post\">
<p>
<input name=\"p\" size=\"4\" maxlength=\"4\" value=\"\"/><input type=\"submit\" value=\"»\"/>
</p></form></div>\';
}
}
}
//8===э канец!
?>