- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
<?php
$self=$_SERVER['PHP_SELF'];
if (isset($_GET['page'])) { $page=$_GET['page'];} else {$page=1;}
$pages=25;
$page_offset=5;
$unique_links=9;
if ($page != 1) { // Don't show back link if current page is first page.
$back_page = $page-1;
echo("<a href=\"$self?page=$back_page\">prev</a> \n");}
for ($i=1; $i <= $pages; $i++) {
if ($i == $page) {
echo("<b>$i</b>\n");// If current page don't give link, just text.
} else {
if (($i>$page-$page_offset) && ($i<$page+$page_offset) && ($page>$page_offset)) {
echo("<a href=\"$self?page=$i\">$i</a> \n");
}
elseif (($i<=$unique_links) && ($page<=$page_offset)) {
echo("<a href=\"$self?page=$i\">$i</a> \n");
}
elseif (($i>$pages-$unique_links) && ($page>$pages-$page_offset)) {
echo("<a href=\"$self?page=$i\">$i</a> \n");
}
}
}
if (!($page >= $pages) && $pages != 1) { // If last page don't give next link.
$next_page = $page + 1;
echo("<a href=\"$self?page=$next_page\">next</a>");}
?>
Адовый аромат (хоть и рабочий), понимаю, но помогите упростить, пожалуйста. Условия внутри цикла скорее всего избыточны.
Вкратце: "плавающий" пагинатор, 9 уникальных ссылок.