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; } } ?>