PAGINAÇÃO DE RESULTADOS
sexta-feira, 13 de junho de 2008 | Marcadores: paginação, php | |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!