[Resolvido] Otimizar resultados de paginação
Olá pessoal,
Tenho uma paginação funcionando perfeitamente, porém necessito de otimizá-la.
Quero deixá-la com o seguinte formato:
1 | 2 | 3 | 4 | 5 | ... | 80 | 81 | 82 | 83 | 84 | próxima
Ou seja, quero mostrar os 5 primeiros links, ocultar os posteriores e mostrar os 5 últimos...
Os links anterior e próxima, ficam ocultos no início e fim da paginação, respectivamente.
Neste formato, posso evitar que os links (números) fiquem sendo todos exibidos.
Desde já agradeço a ajuda.
<div class="paginacao">
<?php
# Número total de páginas
$Npg = ceil($tr / $NumReg);
$Npg++;
if(isset($_GET['c'])) {
$categoria = '&c=' . $_GET['c'];
}
else {
$categoria = NULL;
}
# Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ($pag > 1) {
echo "<a href=\"?area=" . $_GET["area"] . $categoria . "&pag=" . ($pag - 1) . "\" title=\"Página anterior\" class=\"pagina-anterior titulo\">Anterior</a>";
}
else {
echo ""; # Caso contrário oculta o link "anterior"
}
# Faz aparecer os numeros das páginas entre os links ANTERIOR e PROXIMA
for($i = 1; $i < $Npg ; $i++) {
# Verifica a página que o navegante esta e retira o link do número para identificar visualmente
if($pag == $i) {
echo "<a title=\"Página atual\" class=\"pga\">" . $i . "</a>";
}
else {
# Acrescenta os links para cada página
$i2 = $i;
echo "<a href=\"?area=" . $_GET["area"] . $categoria . "&pag=" . $i2 . "\" title=\"Página " . $i2 . "\" class=\"pg\">" . $i . "</a>";
}
}
# Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if ($pag + 1 < $Npg) {
echo "<a href=\"?area=" . $_GET["area"] . $categoria . "&pag=".($pag + 1) . "\" title=\"Próxima página\" class=\"proxima-pagina\">Próxima</a>";
}
else {
echo ""; # Caso contrário oculta o link "próxima"
}
?>
</div>Discussão (6)
Carregando comentários...