Função pra paginação
Publicado por Wanderson 24/09/2007
[ Hits: 10.016 ]
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);
}
?>
Função String: Gerador automático de links
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)
Programa fora de escala na tela do pc (37)
Mint Xfce não mantém a conexão no wi-fi (0)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









