PAGINAÇÃO DE RESULTADOS

sexta-feira, 13 de junho de 2008 | Marcadores: , | |

Vamos aprender como fazer uma paginação em php no estilo google!

Primeiramente faça uma base de dados com o nome paginacao , em seguida faça uma tabela com o nome pessoa com os campos nome e telefone.

Agora vamos ao código
<?
$conn=mysql_connect("localhost","root","") or die ("Erro na conexão");
$db=mysql_select_db("paginacao") or die ("Erro no banco");

if (!isset($_GET["pagina"])) {
$pagina = 1;
}
else {
$pagina = $_GET["pagina"];

}

$max=1;

$inicio = $pagina - 1;
$inicio = $max * $inicio;

$sql=("select * from pessoa");
$query=mysql_query($sql);
$total=mysql_num_rows($query);

if ($total == 0)
echo "Nenhum registro encontrado!";
else

{
echo"Quantidade de registros encontrados: ".$total.'<br><br>';
$sql2=("select * from pessoa LIMIT $inicio,$max");
$query2=mysql_query($sql2);
?>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
a:link {
color: #0099FF;
}
a:visited {
color: #0099FF;
}
a:hover {
color: #99CC00;
}
a:active {
color: #0099FF;
}
.texto_paginacao_pgatual {color:#FF0000}
-->
</style>
<table width="25%" border="0" cellspacing="0" cellpadding="0">
<?
while ($mostrar=mysql_fetch_array($query2)){ ?>
<tr>
<td scope="col"><? echo $mostrar['nome'];?></td>
<td scope="col"><? echo $mostrar['telefone'];?></td>
</tr>
<? }?>
</table>
<table width="25%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="71" scope="col">
<?
}
// Calculando pagina anterior
$menos = $pagina - 1;
// Calculando pagina posterior
$mais = $pagina + 1;
$pgs = ceil($total / $max);
if($pgs > 1 )
{
if($menos >0)
{
echo "<a href=\"?pagina=$menos\" class='texto_paginacao'>Anterior</a> ";
}else{
?>
Anterior
<?
}

if (($pagina-4) < 1 )

$anterior = 1;

else
$anterior = $pagina-4;

if (($pagina+4) > $pgs )
$posterior = $pgs;
else

$posterior = $pagina + 4;

for($i=$anterior;$i <= $posterior; $i++)
if($i != $pagina)
echo " <a href=\"?pagina=".($i)."\" class='texto_paginacao'>$i</a>";

else
echo " <strong class='texto_paginacao_pgatual'>".$i."</strong>";

if($mais <= $pgs)
echo " <a href=\"?pagina=$mais\" class='texto_paginacao'>Proxima</a>";
}else{
?>
Proxima
<?
}


?>
</td>
</tr>
</table>

Fácil, fácil ...
No próximo post nós iremos complementar esta paginação aplicando um css para deixar bem mais bonito!

0 comentários: