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










