Função pra paginação
Publicado por Wanderson 24/09/2007
[ Hits: 9.702 ]
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); } ?>
Script para Integração com a Receita Federal
WebLog - Logs do linux via web
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta