get_total()/$this->get_pnumber());
if((float)($this->get_total()/$this->get_pnumber()) - $number != 0)
{
$number++;
}
// Проверяем есть ли ссылки слева
if($page - $this->get_page_link() > 1)
{
$return_page .= "get_parameters()} class=main_txt_lnk>[1-{$this->get_pnumber()}] ... ";
// Есть
for($i = $page - $this->get_page_link(); $i<$page; $i++)
{
$return_page .= " get_parameters()} class=main_txt_lnk>[".
(($i - 1)*$this->get_pnumber() + 1).
"-".$i*$this->get_pnumber()."] ";
}
}
else
{
// Нет
for($i = 1; $i<$page; $i++)
{
$return_page .= " get_parameters()} class=main_txt_lnk>[".
(($i - 1)*$this->get_pnumber() + 1).
"-".$i*$this->get_pnumber()."] ";
}
}
// Проверяем есть ли ссылки справа
if($page + $this->get_page_link() < $number)
{
// Есть
for($i = $page; $i<=$page + $this->get_page_link(); $i++)
{
if($page == $i)
$return_page .= " [".
(($i - 1) * $this->get_pnumber() + 1).
"-".$i*$this->get_pnumber()."] ";
else
$return_page .= " get_parameters()} class=main_txt_lnk>[".
(($i - 1)*$this->get_pnumber() + 1).
"-".$i*$this->get_pnumber()."] ";
}
$return_page .= " ... ".
"get_parameters()} class=main_txt_lnk>[".
(($number - 1)*$this->get_pnumber() + 1).
"-{$this->get_total()}] ";
}
else
{
// Нет
for($i = $page; $i<=$number; $i++)
{
if($number == $i)
{
if($page == $i)
$return_page .= " [".
(($i - 1)*$this->get_pnumber() + 1).
"-{$this->get_total()}] ";
else
$return_page .= " get_parameters()} class=main_txt_lnk>[".(($i - 1)*$this->get_pnumber() + 1).
"-{$this->get_total()}] ";
}
else
{
if($page == $i)
$return_page .= " [".
(($i - 1)*$this->get_pnumber() + 1).
"-".$i*$this->get_pnumber()."] ";
else
$return_page .= " get_parameters()} class=main_txt_lnk>[".(($i - 1)*$this->get_pnumber() + 1)."-".($i*$this->get_pnumber())."] ";
}
}
}
return $return_page;
}
// Альтернативный вид постраничной навигации
public function print_page()
{
// Строка для возвращаемого результата
$return_page = "";
// Через GET-параметр page передаётся номер
// текущей страницы
$page = intval($_GET['page']);
if(empty($page)) $page = 1;
// Вычисляем число страниц в системе
$number = (int)($this->get_total()/$this->get_pnumber());
if((float)($this->get_total()/$this->get_pnumber()) - $number != 0)
{
$number++;
}
// Ссылка на первую страницу
$return_page .= "<< ... ";
// Выводим ссылку "Назад", если это не первая страница
if($page != 1) $return_page .= " < ... ";
// Выводим предыдущие элементы
if($page > $this->get_page_link() + 1)
{
for($i = $page - $this->get_page_link(); $i < $page; $i++)
{
$return_page .= "$i ";
}
}
else
{
for($i = 1; $i < $page; $i++)
{
$return_page .= "$i ";
}
}
// Выводим текущий элемент
$return_page .= "$i ";
// Выводим следующие элементы
if($page + $this->get_page_link() < $number)
{
for($i = $page + 1; $i <= $page + $this->get_page_link(); $i++)
{
$return_page .= "$i ";
}
}
else
{
for($i = $page + 1; $i <= $number; $i++)
{
$return_page .= "$i ";
}
}
// Выводим ссылку вперёд, если это не последняя страница
if($page != $number) $return_page .= " ... >";
// Ссылка на последнюю страницу
$return_page .= " ... >>";
return $return_page;
}
}
?>