Script para paginação

Tem muitos script na net de paginação que são muito complexo ou não funciona direito, mas achei esse script que é dividido  em duas partes:

pagina.php
<?
//######### INICIO Paginação
$numreg = 40; // Quantos registros por página vai ser mostrado
if (!isset($pg)) {
$pg = 0;
}
$inicial = $pg * $numreg;

//######### FIM dados Paginação

// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicial, $numreg");

// Serve para contar quantos registros você tem na seua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM tabela");

$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>

echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo

while ($aux = mysql_fetch_array($sql)) {
/* Ai o resto é com voces em montar como deve parecer o conteúdo */
}
?>

paginacao.php

<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline}
-->
</style>
<?
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;

// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $pg > 0) {
echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>« anterior</b></a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}

// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?pg=$i_pg2><b>$i_pg</b></a> ";
}
}

// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?pg=".($pg+1)."><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>


wiliamluis

Deixe sua resposta