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 Wallcrawler
      Olá pessoal tudo bem? Estou tentando fazer a cópia de uma imagem que está disponível na web e salvar em uma pasta no meu projeto. Essa imagem está sob protocolo SSL mas navegador consegue acessá-la normalmente. Mas o meu script php é bloqueado, e não entendo o porquê.
       
      Segue o código que estou usando:
      <?php //error_reporting(E_ALL ^ E_DEPRECATED); //ini_set('display_errors', 1); //die('Script travado!'); $start = microtime(true); set_time_limit(0); function save_image($inPath,$outPath) { //Download images from remote server $in = fopen($inPath, 'rb'); $out = fopen($outPath, 'wb'); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); } include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/classes/Rpi.class.php'); include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/functions.class.php'); $func = new FuncoesAuxiliares(); $rpi = new Rpi(); if(!isset($_GET['num_processo'])) { $rows = $rpi->Consulta('select num_processo, classe, especificacao from processos order by num_processo ASC limit 1'); } else { $rows = $rpi->Consulta("select num_processo, classe, especificacao from processos where num_processo > '" . $_GET['num_processo'] . "' order by num_processo ASC limit 1"); } $registros = 0; $arrayInsert = array(); $qtd_caracteres_total = 14; foreach ($rows as $rs) { //$rs['num_processo'] $zeros = ''; $qtd_char_processo = strlen($rs['num_processo']); //Fill zeros for($i=0; $i < ($qtd_caracteres_total - $qtd_char_processo); $i++) { $zeros .= '0'; } echo('BR5' . $zeros . $rs['num_processo'] . '<br>'); $url = 'http://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo']; //Aqui tento acessar a imagem e salvar na pasta correspondente save_image($url, __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); //copy('https://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo'], __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); $processo = $rs['num_processo']; $registros++; } $registros = number_format($registros, 0, ',', '.'); // Display Script End time $time_end = microtime(true); //dividing with 60 will give the execution time in minutes other wise seconds $execution_time = ($time_end - $start)/60; //execution time of the script echo '<b>Total Execution Time:</b> '. $execution_time .' Mins <hr><br><br>Registros: ' . $registros . '<br><br>'; echo("<a href='down_logo.php?num_processo=" . $processo ."' target='_self'>Próxima página</a><br><br>"); ?> O erro retornado é o seguinte:
       
      Warning: fopen(): SSL: Connection reset by peer in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10

      Warning: fopen(http://www.tmdn.org/tmview/trademark/image/BR500000825642590): failed to open stream: HTTP request failed! in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10

      Warning: fread() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 12

      Warning: fclose() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 16
       
      Só que se você tentar acessar o endereço no browser, diretamente, a imagem aparece:
       
      https://www.tmdn.org/tmview/trademark/image/BR500000825642590 
       
      Onde posso estar errando? Obrigado pela atenção de todos.
    • By violin101
      Caros amigos,
       
      saudações...
       
      Estou escrevendo uma rotina de Carrinho de Compras e estou com problema na Library CART.
       
      Quando a Descrição do Produto ultrapassa 25 caracteres, o CART não é inserido.
       
      A library CART, estou chamando direto no AUTOLOAD.
       
      Como consigo resolver esse problema ?
       
      O Código para inserir está assim:
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Carrinho extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('site/carrinho_model'); } public function index() { $this->addCart(); } public function addCart() { //Recebe dados via POST $id_produto = $this->input->post("idPrds"); $descricao = $this->input->post("namPrds"); //Problema nesse Campo quando ultrapassa 25 caracteres - Não INSERE $quantidade = $this->input->post("qtds"); $preco = $this->input->post("vlrPrds"); $insert_dados = array( 'id' => $id_produto, 'name' => $descricao, 'price' => $preco, 'qty' => $quantidade ); $this->cart->insert($insert_dados); $this->load->view('site/estilo/header', $this->data); $this->load->view('site/carrinho'); } }  
       
      Grato,
       
      Cesar
       
       
       
       
    • By Bruno Ferreira da Silva
      Estou utilizando laravel 5.8.
      Meu problema é o seguinte, estou realizando o login com usuário e senha. O sistema entra na condição e debuga corretamente o usuário logado. e no mesmo momento que eu altero a url para ..../dashboard, ele redireciona como se estivesse deslogando. mas na segunda tentativa isso não acontece, ele realiza o login normalmente. Ai isso se repete sempre que troca de usuário. 
       
      O controller da dashboard chama apenas a view e mais nada. 
      public function authenticate(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { dd(Auth::user()); return redirect()->intended('dashboard'); } }  
    • By Sapinn
      Estou trazendo os dados do banco de dados e eles estão vindo com problema na acentuação
      uso o seguinte codigo no php
      <?php
      include_once ‘…/php/conexao.php’;
      header(‘Content-Type: text/html; charset=utf-8’);
      mysqli_query($conn,“SET NAMES ‘utf8’”);
      mysqli_query($conn,‘SET character_set_connection=utf8’);
      mysqli_query($conn,‘SET character_set_client=utf8’);
      mysqli_query($conn,‘SET character_set_results=utf8’);
      ?>
      E no html
      Mesmo assim as palavras com acento ficam com aquele erro desgraçado com a interrogação
      Alguem me ajuda ai
    • By Alberto Nascimento
      Como faço que consiga colocar parágrafos no campo tipo "text" do formulário?
          <input name="Text1" style="width: 528px; height: 223px" type="text" /></form>
      Se eu pressiono ENTER automaticamente envia o formulário
      Como então consigo digitar ao preencher o formulário da forma abaixo?
       
×

Important Information

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