Jump to content
leandro123456789

Estou usando este script para criar páginas em php e quero saber como posso fazer paginação em $ pag [2] com o banco de dados Mysqli?

Recommended Posts

<div id="direito">
       
       <?php 
                
           $link = filter_input(INPUT_GET, 'link');
           
           $pag[1] = "../admin/home.php";
           $pag[2] = "../admin/classes/Lista.php";
           
        
        
           if(!empty($link)){
               
               if(file_exists($pag[$link]))
                  
                {
                   include $pag[$link];
                
                }
                  
                else
                { 
                   
                    include "home.php";
                
                }
               
           }else{
               include "home.php";
           }
        
        ?>
       
    </div>
 

 

Estou tentando colocar a paginação do meu banco em $ pag [2] na minha página: ../admin/classes/Lista.php tem o seguinte código de paginação:


<? php
    
    include_once ("../ admin / classes / ClassConexao.php");
    
    
    // verifique a página atual se informado no URL, caso contrário, ela será atribuída como 1ª página
    $ pagina = (isset ($ _ GET ['link = 2']))? $ _GET ['link = 2']: 1;
 
    // seleciona todos os itens da tabela
    $ cmd = "selecione * da categoria";
    $ produtos = mysqli_query ($ conn, $ cmd);
    
    // conta o total de itens
    $ total = mysqli_num_rows ($ produtos);
 
    // seta o número de itens por página, neste caso, 2 itens
    $ registros = 2;
 
    // calcula o número de páginas arredondando o resultado
    $ numPaginas = teto ($ total / $ registros);
 
    // variável para calcular o início da visualização com base na página atual
    $ inicio = ($ registros * $ pagina) - $ registros;
 
    // seleciona itens por página
    $ cmd = "selecione * da categoria limite $ inicio, $ registros";
    $ produtos = mysqli_query ($ conn, $ cmd);
    $ total = mysqli_num_rows ($ produtos);
     
    // exibe produtos selecionados
    while ($ produto = mysqli_fetch_array ($ produtos)) {
        echo $ produto ['id_categoria']. "-";
        echo $ produto ['categoria']. "-";
        echo $ produto ['ativo_categoria']. "<br />";
    }


// Não sei como consertar esta parte para mostrar a paginação nesse $ pag [2] = "../admin/classes/Lista.php";
     
    // exibe paginação
    para ($ i = 1; $ i <$ numPaginas + 1; $ i ++) {
        
       echo "<a href='?pagina=$i'>". $ i. "</a>";
    }
            
?>

Meu menu fica assim:


<div id = "sessao"> Categoria </div>

   <ul>
       
      

       <li> <a href="index.php?link=3"> Cadastro </a> </li>
       <li> <a href="index.php?link=2"> Listar / Editar </a> </li>
   
  </ul>

Share this post


Link to post
Share on other sites

Olá Leandro

 

tudo bem ?

 

Estou anexando uma Rotina que uso em meus Sistemas para Visualizar dados do Mysql com Paginação.

 

Espero ter ajudado.

<div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header" >
      <h1>
        Categoria
      </h1>
      <ol class="breadcrumb">
        <li><a href="painel.php?exe=home/home"><i class="fa fa-dashboard"></i> Home</a></li>
        <li class="active">Categoria</li>
      </ol>
    </section>

    <!-- Main content -->
    <section class="content">

      <div class="row">

        <div class="box box-primary">

            <div class="box-header">
              <i class="ion ion-clipboard"></i>
              <h3 class="box-title">Lista de Categoria</h3>

              <a href="painel.php?exe=admin-cliente/categoria/categoria_nova" type="button" 
                 class="btn btn-primary pull-right" title="Incluir Nova Categoria">
                 <i class="fa fa-plus"></i> Cadastrar Categoria</a>

            </div><!--Fim div box-header --> 

            <table id="tabCategLista" class="table table-bordered table-hover">
                <thead>
                    <tr style="background: #26C776;">
                      <td align="center"><strong>Código:</strong></td>
                      <td align="center"><strong>Categoria:</strong></td> 
                      <td align="center"><strong>Ação:</strong></td> 
                    </tr>
                </thead>
 
                <?php

                    //Paginação da página
                    $pag = isset($_GET['pag']) ? (int)$_GET['pag']  : 1;

                    $maximo = '10'; //RESULTADOS POR PÁGINA
                    $inicio = ($pag * $maximo) - $maximo; 

                    $sql_pegaAtivos = "SELECT ct.id_categ, ct.grupo_id_grup, ct.clientes_clienteId,
                                              gr.id_grup, gr.desc_grup
                                        FROM categoria AS ct
                                  INNER JOIN grupo AS gr ON ct.grupo_id_grup = gr.id_grup
                                       WHERE ct.clientes_clienteId = '$userClientes_clienteId' ";
                              
                     try{
                       $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
                       $query_pegaAtivos->bindValue(':clientes_clienteId',$userClientes_clienteId,PDO::PARAM_STR);
                       $query_pegaAtivos->execute();
                       
                       $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
                       $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);

                       }catch(PDOexception $error_pegaAtivos){
                            echo 'Erro ao pegar ativos';
                       }
                       
                       foreach($resultado_pegaAtivos as $resAtivos){
                               $id_categ     = $resAtivos['id_categ'];        
                               $id_grup      = $resAtivos['id_grup'];  
                               $desc_grup    = $resAtivos['desc_grup']; 
                               $clientes     = $resAtivos['clientes_clienteId'];
                        
                      ?>

                       <tr class="tr_Filtro">
                        <td align="center" width="100" height="10" style="font-size:15px;">
                            <?php echo $id_grup; ?>
                        </td>
                        <td align="left" width="350" height="10" style="font-size:15px;">
                            <?php echo $desc_grup; ?>
                        </td>          

                        <td align="center" width="70">
                          <form name="analisar" action="painel.php?exe=admin-cliente/categoria/categoria_edita&categoria=<?php echo $id_categ;?>" 
                                enctype="multipart/form-data" method="post" >

                                <input type="hidden" name="id_categ" value="<?php echo $id_categ;?>" />
                                <input class="btn btn-danger btn-xs" type="submit" name="executar" id="executar" 
                                       style="font-size: 14px;" value="Editar" />
                          </form>    
                        </td>            

                      </tr>

                  <?php

                   } //Fechar o 1.Foreach
                  
                  ?>

            </table>

                <!-- Função para informar que nenhum Código Cliente foi encontrado -->
                <tbody>
                    <tr>
                       <?php 
                        if($count_pegaAtivos == '0'){
                           echo '<h2>&nbsp;Nenhum registro encontrado!</h2>';
                       echo '<br/>';
                        } else {

                        }
                      ?>
                    </tr>
                </tbody>

            <div class="box-footer clearfix no-border" style="font-size: 16px;">

              <!--Paginação da página -->
              <?php

                //Traz o Código de Cliente logado
                $codClie = "$userClientes_clienteId";                      
                
                //USANDO A MESMA SQL QUE QUE USOU PARA RECUPERAR OS RESULTADOS, SE TIVER A PROPRIEDADE WHERE USE A MESMA TAMBÉM
                $sql_res = $sqli->query("SELECT * FROM categoria WHERE clientes_clienteId = '$codClie' ORDER BY id_categ ASC");
                $total = $sql_res->num_rows;

                $paginas = ceil($total/$maximo);
                $links = '10'; //QUANTIDADE DE LINKS NO PAGINATOR
                
                echo "<a href=\"painel.php?exe=admin-cliente/categoria/categoria_lista&cliente=$codClie&amp;pag=1\">Primeira</a>&nbsp;&nbsp;&nbsp;";

                for ($i = $pag-$links; $i <= $pag-1; $i++){
                  if ($i <= 0){
                  }else{
                   echo"<a href=\"painel.php?exe=admin-cliente/categoria/categoria_lista&cliente=$codClie&amp;pag=$i\">$i</a>&nbsp;&nbsp;&nbsp;";
                  }
                } echo "$pag &nbsp;&nbsp;&nbsp;";

                for($i = $pag +1; $i <= $pag+$links; $i++){
                  if($i > $paginas){
                  }else{
                   echo "<a href=\"painel.php?exe=admin-cliente/categoria/categoria_lista&cliente=$codClie&amp;pag=$i\">$i</a>&nbsp;&nbsp;&nbsp;";
                  }
                }
                echo "<a href=\"painel.php?exe=admin-cliente/categoria/categoria_lista&cliente=$codClie&amp;pag=$paginas\">Última</a>&nbsp;&nbsp;&nbsp;";
              ?> 
                    
          </div>   


        </div><!--Fim div primary -->           

      </div><!--Fim div row -->          

    </section> 

</div>

 

Saudações...

 

Cesar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fideles
      Pessoal, tenho uma dúvida, talvez muito boba.
       
      Tenho um formulario com os input em array, e um alert javascript mostrando que foi registrado com suceso.
       
      O problema maior é que se for gravado 30 registro no banco de dados, ele mostra 30 alertas de registro gravado com suceso, por acaso é possivel limitar esse tanto de alerta para somente 1 independente da quantidade que ele grava no banco ?
    • By violin101
      Caros amigos, saudações...
       
      Desculpa em recorrer ao auxílio dos amigos.
       
      Como consigo realizar ORDENAÇÃO de Tabela usando Radio button ?

      por Exemplo:
      ordenar por: [ ]Código  ou  [ ]Descrição.
       
      Grato,
       
      Cesar
    • By Sapinn
      Como mudar o cor da letra de um active em um menu no boostrtrap
       
      <nav class="navbar navbar-expand-lg navbar-light bg-light">         <div class="container">           <a class="navbar-brand" href="#">             <img src="icone.png" height="60px" alt="Logo">           </a>           <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">             <span class="navbar-toggler-icon"></span>           </button>                  <div class="collapse navbar-collapse d-lg-flex justify-content-end" id="navbarSupportedContent" style="font-size: 20px;">             <ul class="navbar-nav" >               <li class="nav-item active" >                 <a class="nav-link" href="#">Inicio</a>               </li>               <li class="nav-item" >                 <a class="nav-link" href="#">Login</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Aluno</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Professor</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Fale Conosco</a>               </li>             </ul>           </div>                </div>       </nav>  
    • By Diego-SLP
      Bom dia,
       
      Estou fazendo uma tela de relatorios de registro de ponto e não estou conseguindo totalizar as horas conforme trago do banco de dados, se alguem puder me ajudar.
       
      SELECT p.cod_obra,f.nome,o.obra, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(p.totalhora))),'%H:%i') AS hora, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(p.totalhoraextra))),'%H:%i') AS horaextra, f.funcao FROM rh_pontoFuncionario p, rh_funcionario f, rh_obra o WHERE p.data BETWEEN '2020/10/01' AND '2020/11/20' AND p.cod_obra = '20056' AND p.cod_func = f.cod AND p.cod_obra = o.cod GROUP BY p.cod_obra, f.nome Essa query me traz COD_OBRA,NOME,OBRA,HORA,HORAEXTRA,FUNCAO e eu gostaria de TOTALIZAR o campo HORA e HORAEXTRA somando todas as linhas mas não consigo
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.