Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hughet

Paginação de Resultados

Recommended Posts

Eu não tenho a mínima idéia de como fazer uma... Sou iniciante...

Abaixo coloco o meu código, só que aparecem 100.000.000 de resultados em uma única página!

Como eu faria pra fazer várias páginas com apenas 5 em cada!

Uma paginação bem simples...

 

<?php$base = mysql_connect("localhost", "root", "senha") or die (mysql_error());$db   = mysql_select_db("rbac", $base);$sql_query = "SELECT * FROM guest ORDER BY id DESC";$exe_query = mysql_query($sql_query, $base) or die (mysql_error());while ($reg = mysql_fetch_assoc($exe_query)) {if($bgcolor=="#f0f0f0"){   /* #f0f0f0 e #c7c7c7 */$bgcolor="";} else {$bgcolor="#f0f0f0";}echo "<div id=\"busca\" style=\"background-color:$bgcolor;\">";echo "<span>Nome:</span> ".$reg['nome'];echo "<br>";echo "<span>E-Mail:</span> ".$reg['email'];echo "<br>";echo "<span>Adicional:</span> ".$reg['comentario'];echo "</div>";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra criar uma paginação, você tem que adicionar 2 cláusulas na sua query SELECT: LIMIT e OFFSET

 

A LIMIT determina quantos registros serão retornados no máximo. No seu caso, você quer que sejam 5 por página...

 

A OFFSET determina quantos registros o MySQL deverá ignorar antes de começar a retornar os resultados. Para a primeira página, ele irá ignorar zero... para a segunda, 5... para a terceira, 10... entendeu? Vou criar um exemplo aqui de como ficaria mais ou menos se você passasse o valor da página pela query string:

 

$pagina = isset($_GET["pagina"]) ? (int)$_GET["pagina"] : 1;
if ($pagina <= 0) {
$pagina = 1;
}

$sql_query = "SELECT * FROM guest ORDER BY id DESC LIMIT 5 OFFSET " . (5 * ($pagina - 1));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.