Descrição: Organiza por exemplo o resultado de uma busca criando uma númeraçao de páginas contendo o link para as mesmas.
---------------------------------------------------------
Sintaxe: paginacao(INT TOTAL, INT LPP, LINK, PAGINA)
Retorno: String
Descrição: Chame a função passando total de itens a exibir, o limite desejado a ser exibido por página, o link das páginas e qual página está no momento. A função criara por exemplo isso "anterior 1... 3 4 5 6 7 8 9 10 11 12 13 ...15 proxima"
Bibliotecas: Nenhuma
Limitações: Acho que nenhuma, pois só tem variaveis
Função:
<? function paginacao($total, $lpp, $link, $pagina) { $paginas = ceil($total / $lpp); $anterior = $pagina - 1; $proxima = $pagina + 1; if ($pagina > 1) {$html .= "<a href=\"".$link."?pagina=".$anterior."\">anterior</a> ";} if (($pagina > 6) && ($paginas > 10)) {$html .= "<a href=\"".$link."?pagina=1\">1...</a> ";} if (($pagina > 5) && ($pagina < $paginas - 4)) { $primeira = $pagina - 5; $ultima = $pagina + 5; } else { if ($pagina < 6) { $primeira = 1; if ($paginas > 9) { $ultima = 10; } else { $ultima = $paginas; } } if ($pagina > $paginas - 5) { $ultima = $paginas; if ($paginas < 11) { $primeira = 1; } else { $primeira = $paginas - 9; } } } while ($primeira <= $ultima) { if ($primeira == $pagina) { $html .= $primeira; } else { $html .= " <a href=\"".$link."?pagina=".$primeira."\">".$primeira."</a> "; } $primeira = $primeira + 1; } if (($pagina < $paginas - 5) && ($paginas > 10)) {$html .= " <a href=\"".$link."?pagina=".$paginas."\">...".$paginas."</a>";} if ($pagina < $paginas) {$html .= " <a href=\"".$link."?pagina=".$proxima."\">proxima</a>";} return $html; }
Exemplo:
// nao se esqueça de declarar a função $c_total = mysql_query("SELECT * FROM tabela", $conexao); $total = mysql_num_rows($c_total); $lpp = "10"; $pagina = $_REQUEST['pagina']; if ($pagina == "") {$pagina = 1;} $inicio = ($pagina * $lpp) - $lpp; $paginacao = paginacao($total, $lpp, '', $pagina); echo $paginacao; $c_mostrar = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp", $conexao); while($dados = mysql_fetch_array($c_mostrar)) { echo $dados[seila]; } echo $paginacao; ?>
Exemplo de resultado:
anterior 1... 3 4 5 6 7 8 9 10 11 12 13 ...15 proxima