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; }?>

Nós queremos saber sua opinião aqui