Telling html pages with php [closed]

1

I have a small problem, I created a large page in html (but it contains several html pages) as if it were a pdf, however I need to number and count them, how can I do this in php? examples: 1 of 40

    
asked by anonymous 10.06.2015 / 16:09

2 answers

2

Following example of a paging code, all lines are commented out.

<?php
    //inclusão da conexão com banco de dados
    require('config/conectaBd.php');
    //A quantidade de valor a ser exibida
    $quantidade = 3;
    //a pagina atual
    $pagina     = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
    //Calcula a pagina de qual valor será exibido
    $inicio     = ($quantidade * $pagina) - $quantidade;

    //Monta o SQL com LIMIT para exibição dos dados  
    $sql = "SELECT * FROM novidades ORDER BY  data DESC LIMIT $inicio, $quantidade";
    //Executa o SQL
    $qr  = mysql_query($sql) or die(mysql_error());
    //Percorre os campos da tabela
    while($ln = mysql_fetch_assoc($qr)){?>

                <div id="noticias">
                <div style="border-bottom:1px dotted #CCC; width:700px; padding:15px; margin-left:-65px;">
            <!--echo '<div style="color:#999; font-size:10px; width:auto; margin-top:2px; margin-bottom:-3px;">'.formata_data($data).'</div>';-->

                <div id="titulo">
        <?php echo $ln['titulo'];?>
                </div>
        <img src="fotos/<?php echo $ln['foto'];?> " style="width:250px; float:left; margin-right:25px; margin-bottom:15px; padding:10px; border:2px solid #D8D8D8;"/>
        <div id="descricao">
        <?php echo $ln['descricao']?></div>
                </div>
                </div>
                </div>
        <?php }?>


        <?php
  /**
   * SEGUNDA PARTE DA PAGINAÇÃO
   */
  //SQL para saber o total
  $sqlTotal   = "SELECT id FROM novidades";
  //Executa o SQL
  $qrTotal    = mysql_query($sqlTotal) or die(mysql_error());
  //Total de Registro na tabela
  $numTotal   = mysql_num_rows($qrTotal);
  //O calculo do Total de página ser exibido
  $totalPagina= ceil($numTotal/$quantidade);
   /**
    * Defini o valor máximo a ser exibida na página tanto para direita quando para esquerda
    */
   $exibir = 3;
   /**
    * Aqui montará o link que voltará uma pagina
    * Caso o valor seja zero, por padrão ficará o valor 1
    */
   $anterior  = (($pagina - 1) == 0) ? 1 : $pagina - 1;
   /**
    * Aqui montará o link que ir para proxima pagina
    * Caso pagina +1 for maior ou igual ao total, ele terá o valor do total
    * caso contrario, ele pegar o valor da página + 1
    */
   $posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1;
   /**
    * Agora monta o Link paar Primeira Página
    * Depois O link para voltar uma página
    */
  /**
    * Agora monta o Link para Próxima Página
    * Depois O link para Última Página
    */
    ?>
    <div id="navegacao">
        <?php
        echo '<a href="?pagina=1">primeira</a> | ';
        echo "<a href=\"?pagina=$anterior\">anterior</a> | ";
    ?>
        <?php
         /**
    * O loop para exibir os valores à esquerda
    */
   for($i = $pagina-$exibir; $i <= $pagina-1; $i++){
       if($i > 0)
        echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
  }

  echo '<a href="?pagina='.$pagina.'"><strong>'.$pagina.'</strong></a>';

  for($i = $pagina+1; $i < $pagina+$exibir; $i++){
       if($i <= $totalPagina)
        echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
  }

   /**
    * Depois o link da página atual
    */
   /**
    * O loop para exibir os valores à direita
    */

    ?>
    <?php echo " | <a href=\"?pagina=$posterior\">próxima</a> | ";
    echo "  <a href=\"?pagina=$totalPagina\">última</a>";
    ?>

There is a similar question to your which contains the answer above.

If that's not enough, try visiting this page . There is a complete tutorial on paging in PHP.

    
10.06.2015 / 16:16
2

Here is an example of pagination involving a search in the database:

<?php
    //conexão com o banco de dados
        mysql_connect("localhost","root","");
        mysql_select_db("banco_teste" );

    //verifica a página atual caso seja informada na URL, senão atribui como 1ª página
        $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;

    //seleciona todos os itens da tabela
        $cmd = "select * from produtos";
        $produtos = mysql_query($cmd);

    //conta o total de itens
        $total = mysql_num_rows($produtos);

    //seta a quantidade de itens por página, neste caso, 2 itens
        $registros = 2;

    //calcula o número de páginas arredondando o resultado para cima
        $numPaginas = ceil($total/$registros);

    //variavel para calcular o início da visualização com base na página atual
        $inicio = ($registros*$pagina)-$registros;

    //seleciona os itens por página
        $cmd = "select * from produtos limit $inicio,$registros";
        $produtos = mysql_query($cmd);
        $total = mysql_num_rows($produtos);

    //exibe os produtos selecionados
        while ($produto = mysql_fetch_array($produtos)) {
            echo $produto['id']." - ";
            echo $produto['nome']." - ";
            echo $produto['descricao']." - ";
            echo "R$ ".$produto['valor']."<br />";
        }

    //exibe a paginação
    if($pagina > 1) {
        echo "<a href='index.php?pagina=".($pagina - 1)."' class='controle'>&laquo; anterior</a>";
    }

    for($i = 1; $i < $numPaginas + 1; $i++) {
        $ativo = ($i == $pagina) ? 'numativo' : '';
        echo "<a href='index.php?pagina=".$i."' class='numero ".$ativo."'> ".$i." </a>";
    }

    if($pagina < $numPaginas) {
        echo "<a href='index.php?pagina=".($pagina + 1)."' class='controle'>proximo &raquo;</a>";
    }
?>

Test database to see how pagination works:

CREATE TABLE 'produtos' (
  'id' int(11) NOT NULL AUTO_INCREMENT,
  'nome' varchar(50) DEFAULT NULL,
  'descricao' text,
  'valor' varchar(10) DEFAULT NULL,
  PRIMARY KEY ('id')
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

insert  into 'produtos'('id','nome','descricao','valor') values (1,'Caneta','Caneta azul','3,00');
insert  into 'produtos'('id','nome','descricao','valor') values (2,'Caderno','Caderno 200 páginas','8,00');
insert  into 'produtos'('id','nome','descricao','valor') values (3,'Borracha','Borracha para lápis','1,00');
insert  into 'produtos'('id','nome','descricao','valor') values (4,'Mochila','Mochila escolar preta','35,00');

Source: PHP Pagination

    
10.06.2015 / 16:28