PUBLICIDADE
Este código tem nota
10

Autor

renanorati

Renan Orati

membro deste março de 2007

Enquete

Você acha que sucesso do Twitter é passageiro?
PUBLICIDADE

Paginação simples de registros com PHP e PostgreSQL


Com este código é possível dividir em páginas uma consulta realizada no banco de dados.

O banco de dados utilizado no exemplo é o PostgreSQL.
<?php
// Page Count 1.0 - Renan Orati
// ----------------------------
// Gerando variáveis de paginas! Legenda:
// $pa - Página Atual
// $nrResult - Indice para ser usado no While, (numero de registros - 1)
// $nrResult - Aqui eu guardo o numero de registros...
// $pags - Número de Páginas.
// nReg - Numero de Registros por pagina!

//Coloque aqui a instrução sql de busca!
$SQL = "Select nome,sobrenome from clientes order by nome,sobrenome";

//Executando instrução
$EXEC = pg_query($SQL);

// Coloque o numero de registros que deve ser mostrado por paginas
$nReg = 10;
//recebendo pagina atual
$pa = $_GET['pa'];
$pa = (int)$pa;
$nrResult = pg_num_rows($CHECA);
$nrResultX = $nrprof;
// OBS: Pra ficar claro... a função "pg_num_rows" ela retorna o numero 

de registros gerados pelo select... mas na hora de mostrar, como o php 

gera os resultados apartir de 0 ( 0 .. n ) então eu subtraio 1 no 

numero de registros para nao mostrar registro a mais!
$nrResult -=1;
//Calculando o numero de paginas
$pags = (int)(($nrResult/$nReg)+1);
//Calculando o registro inicial
$iniciopag = ($nReg*$pa)-$nReg;
//Calculando o registro final
$fimpag = ($nReg*$pa)-1;

//Pronto... voce pode utilizar para qualquer consulta...
//Pra fica mais facil eu vou usar uma consulta de exemplo
?>

<html>
<body>
<table width=200>

<?
   $i = $iniciopag;
   while(($i<=$nrResult) and ($i<=$fimpag)){
   $nome = pg_result($EXEC,$i,"nome");
   $sobrenome = pg_result($EXEC,$i,"sobrenome");
?>

<tr>
   <td width=100><?=$nome?></td>
   <td width=100><?=$sobrenome?></td>
</tr>

<? $i+=1; } ?>

<br>

<?
//Agora vou mostra o " Paginas - 1 2 3 n "
// $z - é um tipo de contador
// $pagina - pagina atual... caso for mandar para uma outra pagina substitua pelo nome da pagina

$pagina = $_SERVER['SCRIPT_NAME'];
$pagina = substr($aaa,1,255);

$z=1;
while($z<=$pags){

?>

<a href="<?=$pagina?>?pa=<?=$z?>">
<?=$z." "?>
</a>
<? $z+=1; }?>

Sim   Não   Este código foi útil para você?
NotaComentário
10
usertop comentou em 14/2/2010

ótimo

show de bola gostei
10
lino2300 comentou em 30/11/2009

Gostei

muito bom o codigo
10
rrcd comentou em 3/4/2009

Bom

Mito bom, gostei muito!
10
renatosdem comentou em 24/5/2007

Fera

Resolveu meu problema
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

© 2006-2013 R&W Informática Ltda. - Todos os direitos reservados. - Política de Privacidade | Mapa do Site