Nesta postagem irei mostrar como criar um sistema de paginação de resultados em PHP.
Paginação .php
//Aqui criamos um estilo para dar uma boa aparência para os
links.
<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>
<!--.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>
<?php
$quant_pg =
ceil($quantreg/$numreg);
$quant_pg++;
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
$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>";
}
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 class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?pg=$i_pg2 class=pg><b>$i_pg</b></a> ";
}
}
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?pg=$i_pg2 class=pg><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)." class=pg><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
Criei outra pagina – Salve como – Pagina.php
<?php
$numreg = 2; // Quantos registros por página vai ser mostrado, neste caso defini dois pois tinha poucos registros na tabela.
$numreg = 2; // Quantos registros por página vai ser mostrado, neste caso defini dois pois tinha poucos registros na tabela.
if
(!isset($pg)) {
$pg = 0;
}
$inicial = $pg * $numreg;
$pg = 0;
}
$inicial = $pg * $numreg;
//######### FIM dados Paginação
// Faz o
Select pegando o registro inicial até a quantidade de registros para página
$conexao =
mysql_connect("localhost","usuario","senha");
$banco =
mysql_select_db("banco",$conexao);
$sql =
mysql_query("SELECT * FROM tabela LIMIT $inicial, $numreg",$conexao);
// 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
($registro = mysql_fetch_array($sql)) {
echo $registro["campo"];
echo "<br>";
}
?>
echo $registro["campo"];
echo "<br>";
}
?>
ATENÇÃO: Utilizando este script de paginação de resultados, a variável REGISTER_GLOBALS do arquivo de configuração PHP.ini deve estar setado como ON para que funcione.
Qualquer dúvida deixe comentários.
Nenhum comentário:
Postar um comentário