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 ernestovm
      Bom dia.
      Descobri, depois de muito trabalho, um problema esquisito. Tenho duas imagens que chamam funções JavaScript determinadas. Uma funciona e a outra não. Isso no Firefox. No Chrome as duas funcionam perfeitamente. Alguém conhece alguma gambiarra para fazer o Firefox funcionar? Segue os códigos:
      HTML:
      <img src="images/ic_abrir.png" width="70" height="70" onClick="abre_notificacao(<? echo "'".$us_codigo."','".$item."'"; ?>);" style="cursor:pointer" id="p_imagem-<? echo $item; ?>" name="p_imagem-<? echo $item; ?>">
       <img src="images/ic_excluir.png" width="70" height="70" onClick="excluir_notificacao(<? echo "'".$us_codigo."'"; ?>);" style="cursor:pointer">
      JAVASCRIPT:
      <script type="text/javascript">
          function abre_notificacao(codigo,indice) {
              $("#p_imagem-"+indice).attr("src","images/ic_abrir_ok.png");
              $("#ver-"+indice).css("display", "block");
          }
          function excluir_notificacao(codigo) {
              $.post("excluir_notificacao.php", {codigo: codigo}, function(resposta) {
                  confirm(resposta+" ("+codigo+")");
              });
              location.reload();
          }

      </script>
      A Função abre_notificacao(codigo,indice)  funciona perfeitamente nos dois browsers.
      A Função excluir_notificacao(codigo) só funciona no Chrome.
      Obrigado pela luz
    • By violin101
      Caros amigos, saudações...
       
      Se postei minha dúvida na opção errada, por favor, me perdoa.
       
      Estou com uma dúvida referente o Carregamento de INPUT através de Select Option com valor vindo do MySql.
       
      Tenho duas DIV, onde mostro um Input caso o Option seja igual a SIM.
       
      O problema é que quando Edito para Alterar o SELECT=2(SIM)  não mostra o Input Ativo.
       
      O Código está assim:
      VIEW:
       
      <div class="col-md-2"> <div class="form-group"> <label for="infoManut" class="control-label ctrlbl">Site em Manutenção:</label> <div class="controls"> <select name="infoManut" id="infoManut" style="width:100%;" class="form-control" onchange="mostrManut(this.value)"> <?php if ($syte[0]->infoManut == 1) { $nao = 'selected'; $sim = ''; } else { $nao = ''; $sim = 'selected'; } ?> <option value="1" <?= $nao ?>>NÃO</option> <option value="2" <?= $sim ?>>SIM</option> </select> </div> </div> </div> <div class="clearfix"></div> <div id="1" class="col-md-12" style="display:none;"> <div class="col-md-12"> <!---Não Mostra Nada---> </div> </div> <!--Como mostro essa DIV quando o Mysql for igual a 2 --> <div id="2" class="col-md-12" style="display:none;"> <div class="col-md-12"> <div class="form-group"> <label for="txt_manut">Informe um Motivo para Manutenção</label> <input id="txt_manut" type="txt_manut" name="txt_manut" class="form-control" style="width:100%;" /> </div> </div> </div> <div class="clearfix"></div> <br/>  
      JAVASCRIPT
       
      <script type="text/javascript"> //Habilitar e Desabilitar DIV's Manutenção do Site function mostrManut(value) { if (value == "1") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "none"; $("#txt_manut").val(''); } else if (value == "2") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "block"; } } </script>  
      Grato,
       
      Cesar
       
       
    • By Marxrj
      Boa noite, estou quebrando a cabeça para incluir marca d'agua em imagens no upload.
      No upload eu consigo fazer o redimensionamento perfeito, inserir uma parte de outro código para inserir a marca d'agua, porpem ele não funcionou na primeira tentativa, fiz umas alterações, aí ele faz o redimensionamento, coloca a logo mas a imagem de fundo fica simplesmente preta..
       
      Esse abaixo é o padrão no qual ele faz o upload da foto e redimensiona, TUDO CERTO!!
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Ai parti para inserir a parte para colocação da marca d'adua. O que foi incluso é aonde tem os comentários. Mas acontece neste momento que ele faz o upload e o redimensionamento normal mas não insere a marca d'agua
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_logo = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_logo ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_logo ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_logo, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Por fim apenas apenas troquei o nome imagem_logo na parte que iria inserir a marca d'agua por imagem_temporaria que já tinha no código antigo. Neste momento ele faz o upload, redimensiona e insere a marca d'agua, mas a imagem de fundo não aparece, fica um fundo preto.
       
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_temporaria = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_temporaria ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_temporaria ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_temporaria, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem); Se alguém puder da uma luz e dizer aonde estou errando.
    • By k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • By realisacnovaes
      Sou novo no fórum e não sei se postei no lugar certo, mas desde já peço desculpas.
       
      Eu estou com um projeto de desenvolver um chat online, porém preciso de algumas ajudas e pago pelo serviço.
       
      já tenho um chat em php (modelo livre construido e disponibilizado de graça no youtube) e gostaria de fazer algumas modificações tais como:
      - Chat em grupo
      - Deletar mensagem para mim/todos
      - ligação por áudio e vídeo
       
      outras coisas adicionais.
      alguém poderia me ajudar ou alguém disponível para eu contratar?
×

Important Information

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