Olá! Sexta Feira, 10 de Fevereiro de 2012.



Dicas CódigoFonte.net
Terça Feira, 19 de Abril de 2005

Como fazer Paginação de resultados?

Olá Pessoal, tudo beleza?

Neste tutorial iremos aprender a fazer paginação de resultados.

Parte 1

Primeiramente vamos executar uma query no mysql.

$sql = mysql_query("SELECT * FROM tabela");


Esta query irá retornar o valor total da tabela.
Vamos então fazer a paginação.

$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.


Agora iremos fazer o loop para que liste os resultados:

while($l = mysql_fetch_array($sql)) {
   echo "Resultado...
n";
}


Pronto.

Parte 2

Agora iremos fazer com que o PHP gere os links das páginas:

if($pagina > 0) {
   $menos = $pagina - 1;
   $url = "$PHP_SELF?pagina=$menos";
   echo "<a href="$url">Anterior</a>"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
   $url = "$PHP_SELF?pagina=$i";
   echo " | <a href="$url">$i</a>";
}
if($pagina < $paginas) {
   $mais = $pagina + 1;
   $url = "$PHP_SELF?pagina=$mais";
   echo " | <a href="$url">Próxima</a>";
}


Pronto. Veremos como fica o script inteiro:

<?
$sql = mysql_query("SELECT * FROM tabela");

$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {
   echo "Resultado...
n";
} 

if($pagina > 0) {
   $menos = $pagina - 1;
   $url = "$PHP_SELF?pagina=$menos";
   echo "<a href="$url">Anterior</a>"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
   $url = "$PHP_SELF?pagina=$i";
   echo " | <a href="$url">$i</a>";
}
if($pagina < ($paginas - 1)) {
   $mais = $pagina + 1;
   $url = "$PHP_SELF?pagina=$mais";
   echo " | <a href="$url">Próxima</a>";
}
?>


Por hoje é só.

Até mais pessoal.

Comentários do artigo [Novo comentário]

Ricardo Fernandes - 30 de Julho de 2011 - 20:31
faltou um $pagina = $_GET['pagina'];
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:






CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com