Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ai pessoal, tranquilo??
to tendo um probleminha com a paginação em um site...
bom, de ante-mão aviso que meio conhecimento em php é meio restrito... não sou programador.. sou "adaptador"
então...
to adaptando um sisteminha para exibição de produtos... mas estou tendo um probleminha com a paginação no mesmo...
aparentemente funciona tudo normal, na primeira página tudo OK, ao chamar a segunda página, também... porém ao chamar as proximas páginas, são exibidos os mesmo registros da segunda página...
pode chamar a proxima ou a anterior que os registros exibidos são os mesmo...
segue o site para entender melhor
http://www.luxurious.com.br/produtos.php
os codigos
página de exibição do produtos
include("admin/conexao.php");
//######### INICIO Paginação
$numreg = 5; // Quantos registros por página vai ser mostrado
if (!isset($pg)) {
$pg = 0;
}
$inicial = $pg * $numreg;
//######### FIM dados Paginação
// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = mysql_query("SELECT * FROM eventos LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na seua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM eventos");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
{
while($mostrar = mysql_fetch_assoc($sql)) {
echo "";
?><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="171" rowspan="4"><a href="admin/<? echo $mostrar['img']; ?>" rel="lightbox"><img src="admin/<? echo $mostrar['img']; ?>" width="150" border="0"></a></td>
<td width="529" height="25" align="left" valign="top">Nome: <? echo $mostrar['evento']; ?></td>
</tr>
<tr>
<td height="25" align="left" valign="top">Categoria:
<? $dia = $mostrar['dia']; echo "$dia"; ?> </td>
</tr>
<tr>
<td height="25" align="left" valign="top">Cod: <? echo $mostrar['local']; ?></td>
</tr>
<tr>
<td align="left" valign="top">Descrição: <? echo $mostrar['descricao']; ?></font></font></font></td>
</tr>
<tr>
<td height="5" colspan="2" align="center" background="imgs/bar.jpg" style="background-repeat:repeat-x"></td>
</tr>
</table>
<?
echo "</font>";
}
}
?>
<? include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "
"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
/* Ai o resto é com voces em montar como deve parecer o conteúdo */
};?>
<?
// Aplicação da Função!
// comando SQL
$sql = "SELECT * FROM eventos";
// Quantidade de resultados por página
$pag = 5;
// link para redirecionar
$url = 'produtos.php?pg=1';
// Confere a página que se encontra
if(isset($_GET['pagina'])){
$pagina = $_GET['pagina'];
}else{
$pagina = 0;
}
// Escreve valores
echo paginacao($sql, $pag, $url, $pagina);
?>
Paginação
<?
function paginacao($sql,$pag_views,$url,$pagina){
if (!$pagina) {
$pagina = 1;
} else {
$pagina = $pagina;
}
$mat = $pagina -1;
$inicio = $mat * $pag_views;
$query = mysql_query($sql);
$limita = "$sql LIMIT $inicio,$pag_views";
$executa = mysql_query($limita);
$linhas = mysql_num_rows($query);
$paginas = $linhas / $pag_views;
$paginas = ceil($paginas);
$volta = $pagina - 1;
$proxima = $pagina + 1;
$paginacao = '';
if ($volta > 0){
$paginacao .= ' <a href="'.$url.'&pagina=1"><<</a> ';
$paginacao .= ' <a href="'.$url.'&pagina='.$volta.'"><</a> ';
}
for ($i = 0; $i <= $paginas; $i++){
$pag = $i+1;
$paginacao .= ' <a href="'.$url.'&pagina='.$pag.'">'.$pag.'</a> ';
}
$total = $paginas+1;
if ($pagina < $total){
$paginacao .= ' <a href="'.$url.'&pagina='.$proxima.'">></a> ';
$paginacao .= ' <a href="'.$url.'&pagina='.$total.'">>></a>';
}
return $paginacao;
}
?>
se alguém puder ajudar =)
valeu!
em seu primeiro código não está faltando um:
$pg=$_GET['pagina']; não ?
da uma olhada aih http://forum.imasters.com.br/index.php?showtopic=281505
>
em seu primeiro código não está faltando um:
$pg=$_GET['pagina']; não ?
Opa! valeu galera... mas consegui resolver aqui....
não sei onde eu fiz a confusão...
mas na hora de chamar a paginação, eu tava chamando a paginação de uma outra classe que não era da mesma da exibição.....
ai fui dar uma pesquisada e vi o erro...
agora ta funcionando perfeitamente
valeu!
da uma olhada aih http://forum.imasters.com.br/index.php?showtopic=281505