yesamarcos

Script Completo Paginação PDO

Oct 3rd, 2014
1,525
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. # inclui o arquivo config(arquivo de conexão com o banco de dados)
  4. require("configs/conexao.php");
  5.  
  6. # Limita o número de registros a serem mostrados por página
  7. $limite = 75;
  8.  
  9. # Se pg não existe atribui 1 a variável pg
  10. $pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1;
  11.  
  12. # Atribui a variável inicio o inicio de onde os registros vão ser
  13. # mostrados por página, exemplo 0 à 10, 11 à 20 e assim por diante
  14. $inicio = ($pg * $limite) - $limite;
  15.  
  16. # seleciona os registros do banco de dados pelo inicio e limitando pelo limite da variável limite
  17. $sql = "SELECT * FROM imovel ORDER BY IMO_CODIGO DESC LIMIT ".$inicio. ", ". $limite;
  18.  
  19. try {
  20.    
  21.     $query = $pdo->prepare($sql);
  22.     $query->execute();
  23.  
  24.     } catch (PDOexception $error_sql){
  25.  
  26.         echo 'Erro ao retornar os Dados.'.$error_sql->getMessage();
  27.  
  28. }
  29.  
  30. while($linha = $query->fetch(PDO::FETCH_ASSOC)){ ?>
  31.      
  32.         <li>
  33.             <h3><?=$linha['BAIRRO']?></h3>
  34.             <a href="<?php bloginfo("url"); ?>/imovel?cod_consulta=<?=$linha['IMO_CODIGO']?>">
  35.                 <?php if($semfoto == 'null') { ?>
  36.                     <img src="<?php bloginfo('url'); ?>/wp-content/uploads/2014/09/logo.jpg" />
  37.                 <?php } else { ?>
  38.                     <img src="<?=$linha['FOTO_PRINCIPAL']?>" />
  39.                 <?php } ?>    
  40.             </a>                            
  41.             <div class="area"><?=round($linha['AREA_TOTAL'])?>m²</div>
  42.             <div class="vaga">2</div>
  43.             <div class="dorm"><?=$linha['DORMITORIO']?></div>
  44.             <?php if($linha['CATEGORIA'] == 'CASA EM CONDOMINIO'){
  45.                 $emcondominio = explode(" ", $linha['CATEGORIA']);
  46.                 $nomemodificado = $emcondominio[1] ." ". $emcondominio[2];
  47.                 echo "<span class='categoria'>$nomemodificado</span>";
  48.             } else { ?>
  49.             <span class="categoria"><?=$linha['CATEGORIA']?></span>
  50.             <?php } ?>
  51.             <span class="valor"><?=money_format('%n', $linha['VLR_VENDA']) ?></span>
  52.         </li>
  53.  
  54. <?php }
  55.  
  56. # seleciona o total de registros  
  57. $sql_Total = 'SELECT IMO_CODIGO FROM imovel';
  58.  
  59. try {
  60.    
  61.     $query_Total = $pdo->prepare($sql_Total);
  62.     $query_Total->execute();
  63.  
  64.     $query_result = $query_Total->fetchAll(PDO::FETCH_ASSOC);
  65.  
  66.     # conta quantos registros tem no banco de dados
  67.     $query_count =  $query_Total->rowCount(PDO::FETCH_ASSOC);
  68.  
  69.     # calcula o total de paginas a serem exibidas
  70.     $qtdPag = ceil($query_count/$limite);
  71.  
  72.     } catch (PDOexception $error_Total){
  73.    
  74.         echo 'Erro ao retornar os Dados. '.$error_Total->getMessage();
  75.  
  76.     }
  77.  
  78.     # Cria os links para navegação das paginas
  79.     echo "<div class='relax h30'></div>";
  80.     # echo '<a href="busca?pg=1">PRIMEIRA PÁGINA</a>&nbsp;';
  81.     echo '<ul id="paginacao">';
  82.     echo '<li><a class="anterior" href="busca?pg=1">Anterior</a></li>';
  83.    
  84.     if($qtdPag > 1 && $pg <= $qtdPag){
  85.        
  86.         for($i = 1; $i <= $qtdPag; $i++){
  87.  
  88.             if($i == $pg){
  89.  
  90.                 echo "<li><a class='ativo'>".$i."</a></li>";
  91.  
  92.             } else {
  93.  
  94.                 echo "<li><a href='busca?pg=$i'>".$i."</a></li>";
  95.                
  96.             }
  97.  
  98.         }
  99.  
  100.     }
  101.  
  102.     echo "<li><a class='proxima' href='busca?pg=$qtdPag'>Próxima</a></li>";
  103.  
  104. ?>
RAW Paste Data