Witam
Jestem średni w php ale chciałbym napisać sobie paginacje i uzkysać taki efeket stronicowania:
[1][2][3]...[456] - początek
[1]...[14][15]
[16][17][18]...[456] - gdzieś w środku
[1]...[454][455]
[456] - koniec
Żeby nie było coś zrobiłem:
<?php
//PAGINACJA START
$results = 5; //Ilość na stronie
$page_count = ceil($number_of_rows/$results); //Ilość stron w zaokrągleniu $page_ = isset($_GET['id2']) ?
$_GET['id2'] : 1; //Na której stronie jestem $next = $page_ + 1; //Następna
$back = $page_ - 1; //Poprzednia
$start = $page_ * $results - $results; //Wyliczanka
//PAGINACJA KONIEC
$stmt -> execute();
$row_count = $stmt->rowCount();
while($row_d = $stmt -> fetch()){
$dane[] = $row_d;
}
if($page_ > 1) {
echo '<a href="index-1.html"></a> <a href="index-' . $back. '.html"></a>';
}
$wstecz_jeden = $page_ - 1;
$wstecz_dwa = $page_ - 2;
if($wstecz_dwa > 0){
echo '<a href="index-'.$wstecz_dwa.'.html">'.$wstecz_dwa.'</a>'; }
if($wstecz_jeden >= 1){
echo '<a href="index-'.$wstecz_jeden.'.html">'.$wstecz_jeden.'</a>'; }
echo '<b><a>'.$page_.'</a></b>'; if($next <= $page_count){
echo '<a href="index-'.$next.'.html">'.$next.'</a>'; }
$page_count_1 = $page_count - 1;
if($page_count == $page_ || $page_ == $page_count_1){ }else{
<a>...</a>
<a href="index-' . $page_count. '.html">'.$page_count.'</a>
<a href="index-' . $next. '.html"></a>
<a href="index-' . $page_count. '.html"></a>';
}
?>
Dziala ale zwraca:
18 19
20 21 ... 13083