Função pra paginação
Publicado por Wanderson 24/09/2007
[ Hits: 9.912 ]
Esta é uma função para ajudar a fazer a paginação em páginas PHP; ela reconhe alguns dados e cria um array contendo o total de páginas e um texto HTML com a paginação própriamente dita, que pode por exemplo ser colocada no topo e rodapé.
A sintaxe é
array paginar(PáginaAtual, TotalASerExibido, ExibiçõesPorPágina, URLParaOsLinks, FormatoDoTexto [<<, nada ou 'primeira' por exemplo], LimiteDeEspaçamento, ClasseCSSParaLinks, ClasseCSSParaInativos);
O indice 0 é o HTML e 1 é o total de páginas.
<? function paginar($atual, $total, $nopg, $url, $textos, $diferenca, $cssL, $cssN) { $limite = ceil($total / $nopg); $res[1] = $limite; # Primeira página if($atual == 1) { if($textos == 1) { $res[0] = " <span class=\"".$cssN."\">primeira</span> \n <span class=\"".$cssN."\">anterior</span> "; } else if($textos == 2) { $res[0] = " <span class=\"".$cssN."\"><<</span> \n <span class=\"".$cssN."\"><</span> "; } } else { if($textos == 1) { $res[0] = " <span class=\"".$cssL."\"><a href=\"".$url."1\">primeira</a> \n <a class=\"".$cssL."\" href=\"".$url.($atual - 1)."\">anterior</a></span> "; } else if($textos == 2) { $res[0] = " <span class=\"".$cssL."\"><a href=\"".$url."1\"><<</a> \n <a class=\"".$cssL."\" href=\"".$url.($atual - 1)."\"><</a></span> "; } } # Paginação $minimo = ($atual - $diferenca); if($minimo < 1) { $minimo = 1; } $maximo = ($atual + $diferenca); if($maximo > $limite) { $maximo = $limite; } #Pões reticências if($minimo > 1) { $res[0] .= "\n <span class=\"".$cssN."\">...</span> "; } for($i = $minimo; $i <= $maximo; $i++) { if($i == $atual) { $res[0] .= "\n <span class=\"".$cssN."\">".$i."</span> "; continue; } $res[0] .= "\n <span class=\"".$cssL."\"><a href=\"".$url.$i."\">".$i."</a></span> "; } #Põe reticências if($maximo < $limite) { $res[0] .= "\n <span class=\"".$cssN."\">...</span> "; } # Última página if($atual == $limite) { if($textos == 1) { $res[0] .= "\n <span class=\"".$cssN."\">próxima</span> \n <span class=\"".$cssN."\">última</span> "; } else if($textos == 2) { $res[0] .= "\n <span class=\"".$cssN."\">></span> \n <span class=\"".$cssN."\">>></span> "; } } else { if($textos == 1) { $res[0] .= "\n <span class=\"".$cssL."\"><a href=\"".$url.($atual + 1)."\">próxima</a> \n <a class=\"".$cssL."\" href=\"".$url.$limite."\">última</a></span> "; } else if($textos == 2) { $res[0] .= "\n <span class=\"".$cssL."\"><a href=\"".$url.($atual + 1)."\">></a> \n <a class=\"".$cssL."\" href=\"".$url.$limite."\">>></a></span> "; } } return $res; unset($atual,$total,$nopg,$url,$textos,$cssL,$cssN,$limite,$res); } ?>
SysNoticia - Notícias para Web
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (2)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)