Просмотр кода
Название: Пагинация.
Описание: Найдено на просторах интернета.
Добавил: __[_]___
Дата: 24 мар 2018, в 12:19 Комментарии (0)
Описание: Найдено на просторах интернета.
<?php
$page = ( isset ($_GET[ 'page' ]) && $_GET[ 'page' ] > 0 ) ? intval($_GET[ 'page' ]) : 1;
$arr = range( 1, 82 ); /* тест массив */
$n = 5 ; /* количество элементов на станицу */
$total = sizeof($arr); /* всего элементов , для базы это запрос */
// $sep = '?mode=' . $_GET['mode'] . '&id=' . $id . '&';
$sep = '?' ;
$start = $page== 1 ? 0 : ($page - 1 ) * $n;
$end = $page==ceil($total / $n) ? $total : $page * $n;
echo '<div>' . pages($sep, $n, $total) . '</div>' ;
/* для файлов */
for ($i=$start;$i<$end;$i++) {
echo $arr[$i] . '<br/>' ;
}
echo '<div>' . pages($sep, $n, $total) . '</div>' ;
/* для базы*/
/* limit $start, $n */
function pages($url, $str, $total) {
global $page;
$totalpage = ceil($total / $str);
if ($page > $totalpage) $page = $totalpage;
if ($page == 1 ) {
#$pervpage = '<a href="' . $url . 'page=1"><< </a>';
} else {
$pervpage = '<a href="' . $url . 'page=' . ($page -
1 ) . '"><<</a> ' ;
}
if ($page != $totalpage) {
$nextpage = ' <a href="' . $url . 'page=' . ($page+ 1) . '">>></a>' ;
} else {
#$nextpage = '<a href="' . $url . 'page=' . $totalpage . '"> >></a>';
}
if ($page > 4) $pp = '<a href="' . $url . 'page=1">1 </a> ... ' ;
if ($totalpage - 4 >= $page) $pt = ' ... <a href="' . $url . 'page=' . $totalpage . '">' . $totalpage . '</a>' ;
if ($page -3 > 0 ) $page3left = '<a href="' . $url .
'page=' . ($page -3) .
'">' . ($page -3 ) . '</a> | ' ;
if ($page -2 > 0 ) $page2left = '<a href="' . $url .
'page=' . ($page -2) .
'">' . ($page -2 ) . '</a> | ' ;
if ($page -1 > 0 ) $page1left = '<a href="' . $url .
'page=' . ($page -1) .
'">' . ($page -1 ) . '</a> | ' ;
if ($page+ 3 <= $totalpage) $page3right = ' | <a href="' . $url . 'page=' . ($page+ 3) . '">' . ($page+ 3) . '</a>' ;
if ($page+ 2 <= $totalpage) $page2right = ' | <a href="' . $url . 'page=' . ($page+ 2) . '">' . ($page+ 2) . '</a>' ;
if ($page+ 1 <= $totalpage) $page1right = ' | <a href="' . $url . 'page=' . ($page+ 1) . '">' . ($page+ 1) . '</a>' ;
return $pervpage . $pp . $page3left . $page2left . $page1left . '[ <b>' . $page . '</b> ]' . $page1right . $page2right . $page3right . $pt . $nextpage;
}
?>
Добавил: __[_]___
Дата: 24 мар 2018, в 12:19 Комментарии (0)