<?php
function pagenation($page, $count_pages, $modrew = TRUE) {
/*
$back - ссылка НАЗАД
$forward - ссылка ВПЕРЕД
$startpage - ссылка в НАЧАЛО
$endpage - ссылка в КОНЕЦ
$page2left - вторая страница слева
$page1left - первая страница слева
$page2right - вторая страница справа
$page1right - первая страница справа
*/
$uri = '?';
if (!$modrew) {
/* Если есть параметры в адресной строке */
if ($_SERVER['QUERY_STRING']) {
foreach ($_GET as $key => $value) {
$uri .= $key . '=' . $value . '&';
}
}
} else {
$url = $_SERVER['REQUEST_URI'];
foreach ($params as $param) {
$uri .= $param .'&';
}
}
}
}
if ($page > 1) {
$back = '<a class="nav-link" href="'.$uri.'page='.($page - 1).'"><</a>';
}
if ($page < $count_pages) {
$forward = '<a class="nav-link" href="'.$uri.'page='.($page + 1).'">></a>';
}
if ($page > 3) {
$startpage = '<a class="nav-link" href="'.$uri.'page=1">«</a>';
}
if ($page < ($count_pages - 2)) {
$endpage = '<a class="nav-link" href="'.$uri.'page='.$count_pages.'">»</a>';
}
if (($page - 2) > 0) {
$page2left = '<a class="nav-link" href="'.$uri.'page='.($page - 2).'">'.($page - 2).'</a>';
}
if (($page - 1) > 0) {
$page1left = '<a class="nav-link" href="'.$uri.'page='.($page - 1).'">'.($page - 1).'</a>';
}
if (($page + 2) <= $count_pages) {
$page2right = '<a class="nav-link" href="'.$uri.'page='.($page + 2).'">'.($page + 2).'</a>';
}
if (($page + 1) <= $count_pages) {
$page1right = '<a class="nav-link" href="'.$uri.'page='.($page + 1).'">'.($page + 1).'</a>';
}
return $startpage . $back . $page2left . $page1left . '<span class="nav-active">' . $page . '</span>' . $page1right . $page2right . $forward . $endpage;
}
[b]Пример использования:[/b]
$perpage = 10; // Записей на страницу
$total = $count[0]; // Всего товаров
$count_pages = ceil($total / $perpage); // Всего страниц if (!$count_pages) { // минимум 1 страница
$count_pages = 1;
}
if (!empty($_GET['page'])) { // текущая страница $page = abs((int
)$_GET['page']); if (!$page) {
$page = 1;
}
} else {
$page = 1;
}
if ($page > $count_pages) {
$page = $count_pages;
}
$start_pos = ($page - 1) * $perpage;
$pagenation = pagenation($page, $count_pages); // постраничная навигация
echo $pagenation, '
'; // Выводим
$query = "SELECT * FROM files ORDER BY id DESC LIMIT $start_pos, $perpage";
?>
<a href="files/<?= $row['path'] ?>"><img src="files/<?= $row['path_mini'] ?>" alt=""/></a>
<?php
endwhile;
?>