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> ";
?>
Pergunta
jow
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.