Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) paginação de produtos da categoria selecionada


jow

Pergunta

Galera estou precisando fazer uma paginação de determinados produtos de uma categoria passada via query ... só estou com dúvida na paginação com a query ... páginando todos os meus produtos do banco de dados OK ...

Mas preciso fazer a paginação de acordo com a query ... Abaixo a paginação q eu estou usando, para q alguém possa me ajudar ...

Aki é onde eu recebo a query

$func = $_GET['mostrar'];

abraçosss

paginacao.asp

<?php
include("admin/config/conecta.php");
// Pegar a página atual por GET
$p = $_GET["p"];
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if(isset($p)) {
$p = $p;
} else {
$p = 1;
}
// Defina aqui a quantidade máxima de registros por página.
$qnt = 1;
// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página
$inicio = ($p*$qnt) - $qnt;
// Seleciona no banco de dados com o LIMIT indicado pelos números acima

$func = $_GET['mostrar'];

$sql_select = "SELECT * FROM produtos LIMIT $inicio, $qnt  ";
// Executa o Query
$sql_query = mysql_query($sql_select);

// Cria um while para pegar as informações do BD
while($estoque = mysql_fetch_array($sql_query)) { 
// Exibe o nome que está no BD e pula uma linha ?>
<table>
<tr>
<td width="192">
<table width="194">
<tr>
<td width="42" height="39"><img src="admin/<?php echo $estoque['foto']; ?>"></td>
<td width="140"><a href="comprar.php?comprar=<?php echo $estoque['id'];?>">Comprar</a></td>
</tr>
<td><a href="detalhes.php?mostrar=<?php echo $estoque['id']; ?>" onClick="NewWindow(this.href,'name','600','500','yes');return false">
<?php echo $estoque['produtos']; ?></a></td>
<td>Total Itens:<?php echo " " . $estoque['quantidade']; ?></td>
</tr>
</table>
</td>
</tr>
</table>
<?php }

// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";

// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 
// para pegarmos o número total de registros
$sql_select_all = "SELECT * FROM produtos";
// Executa o query da seleção acimas
$sql_query_all = mysql_query($sql_select_all);
// Gera uma variável com o número total de registros no banco de dados
$total_registros = mysql_num_rows($sql_query_all);
// Gera outra variável, desta vez com o número de páginas que será precisa. 
// O comando ceil() arredonda 'para cima' o valor
$pags = ceil($total_registros/$qnt);
// Número máximos de botões de paginação
$max_links = 3;
// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)
echo "<a href='paginacao.php?p=1' target='_self'>primeira pagina</a> ";
// Cria um for() para exibir os 3 links antes da página atual
for($i = $p-$max_links; $i <= $p-1; $i++) {
// Se o número da página for menor ou igual a zero, não faz nada
// (afinal, não existe página 0, -1, -2..)
if($i <=0) {
//faz nada
// Se estiver tudo OK, cria o link para outra página
} else {
echo "<a href='paginacao.php?p=".$i."' target='_self'>".$i."</a> ";
}
}
// Exibe a página atual, sem link, apenas o número
echo $p." ";
// Cria outro for(), desta vez para exibir 3 links após a página atual
for($i = $p+1; $i <= $p+$max_links; $i++) {
// Verifica se a página atual é maior do que a última página. Se for, não faz nada.
if($i > $pags)
{
//faz nada
}
// Se tiver tudo Ok gera os links.
else
{
echo "<a href='paginacao.php?p=".$i."' target='_self'>".$i."</a> ";
}
}
// Exibe o link "última página"
echo "<a href='paginacao.php?p=".$pags."' target='_self'>ultima pagina</a> ";
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...