Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar número de links e reordenar numeros de páginas na paginação


Webster Marcelo Moitinho

Pergunta

Estou tentando fazer um script para paginação mas a minha codificação exibe um número infinito de páginas (Anterior | 1 | 2 | 3 | 4 | 5 | 6 | 7, etc) e eu queria limitar esse número à apenas três (Primeira | 1 | 2 | 3 | Última), e conforme fosse carregando as demais páginas iria incrementando esses três números ( ao clicar na página 3 por exemplo apareceria Primeira | 3 | 4 | 5 | Última). Para estilização estou usando o Bootstrap4. Meu código está assim:

<?php

$itens_por_pagina   = 5; // Quantidade de itens por página
if(isset($_GET['pagina'])){ $pagina = intval($_GET['pagina']); } else { $pagina = "0"; }; // Pega a página atual


$sql = "SELECT COUNT(*) as t
        FROM tabela";
$prepara = $PDO->prepare($sql);
$prepara->execute();
$row = $prepara->fetchAll(PDO::FETCH_ASSOC);
foreach ($row as $key => $linha) {
$num_total = $linha["t"];
}         

$num_paginas = ceil($num_total/$itens_por_pagina);        
if($num_paginas >0){

$sql                = "SELECT  
                       tabela.campo1,
                       tabela.campo2, etc...
                       FROM tabela
                       LIMIT $pagina, $itens_por_pagina";
$res = $PDO->query( $sql );
$row = $res->fetchAll(PDO::FETCH_ASSOC);
foreach ($row as $key => $linha) {
$campo     = $linha["campo"];
echo $campo;  etc...
}

}

?>

<nav aria-label="Navegação de página exemplo">
  <ul class="pagination">
     <li class="page-item">
       <a class="page-link" href="restrito.php?id=acoes&pagina=0" style="background-color: orange; color: #ffffff;">Primeira</a></li>

<?php
for($i=0;$i<$num_paginas;$i++){
$estilo = "";
if($pagina == $i)
$estilo = "class=\"active\""; // classe do Bootstrap para páginas ativas
?>

      <li <?php echo $estilo; ?> class="page-item">
         <a class="page-link" href="restrito.php?id=acoes&pagina=<?php echo $i; ?>">
          <?php echo $i+1 ?>
         </a>
      </li>

<?php
   }
?>
                            
      <li class="page-item">
         <a class="page-link" href="index.php?pagina=<?php echo $num_paginas-1; ?>" style="background-color: orange; color: #ffffff;">
            Última
         </a>
      </li>
   </ul>
</nav>                        

 

tela.png

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...