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 $next = $page_ + 1; //Następna $back = $page_ - 1; //Poprzednia $start = $page_ * $results - $results; //Wyliczanka //PAGINACJA KONIEC $stmt = $pdo -> prepare('SELECT * FROM `baza_email` LIMITd,
o');
$stmt -> bindValue('d', $start, PDO::PARAM_INT);
$stmt -> bindValue('o', 10, PDO::PARAM_INT);
$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){ } if($wstecz_jeden >= 1){ } if($next <= $page_count){ } $page_count_1 = $page_count - 1; if($page_count == $page_ || $page_ == $page_count_1){ }else{ echo ' <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 1920 21 ... 13083