Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eae gurizada...blza?
Eestou me baseando no script que existe em um site aqui, sobre paginação e encontrei um erro. Pode ser que esteja equivocado, mas dêem uma olhada ae...
O artigo é o http://www.criarweb.com/artigos/192.php?manual=10
ao criar a paginação, funciona perfeitamente, mas no momento em que há mais registros do que o número máximo de registros por página, qdo é clicado na segunada, ou subsequentes páginas, ele altera aconsulta.
ex: fiz uma consulta com uma palavra "x", me resultou 30 registros, sendo que tenhho 100 no banco, qdo tento ir a segunda página, ele vai, mas ae então paresentando os 100 registros que exixtem no banco.
acho q o problema é na recarregada que ele dá...heheh
se alguem puder dá uma olhada ae...
se precisar de alguma coisa...ou eu postar o script... se quiserem eu posto ae...bem bom a paginação...hehe
vlws
<link href="CSS/texto.css" rel="stylesheet" type="text/css"><link href="CSS/links.css" rel="stylesheet" type="text/css"><table width=600 border=0 align=center cellpadding=0 cellspacing=0> <tr> <td width=1> </td> <td width=470 rowspan=15 valign=top> <? $cate = $_POST['cate']; if ($_POST['chave']!=""){ $txt_criterio = $_POST['chave']; $criterio = " where $cate like '%" . $txt_criterio . "%'";} $TAMANHO_PAGINA = 5; $pagina = $_GET["pagina"]; if (!$pagina) { $inicio = 0; $pagina=1; } else { $inicio = ($pagina - 1) * $TAMANHO_PAGINA; } $ssql = "select * from livro " . $criterio . " limit " . $inicio . "," . $TAMANHO_PAGINA; include "conexao.php"; $rs = mysql_query($ssql); while ($fila = mysql_fetch_object($rs)){ echo "<table width=400 border=0 align=center cellpadding=0 cellspacing=6><tr><td width=49 rowspan=3><img src=Capas/"; echo $fila->capa; echo " width=40 height=80></td><td height=27 colspan=2 class=texto>"; echo $fila->nome; echo "</td></tr><tr><td height=31 colspan=2 class=texto>"; echo $fila->autor; echo "</td></tr><tr><td width=189 height=19><a href=# class=links>Detalhes</a></td><td width=162><a href="; echo $fila->link; echo " class=links target=_blank>Download</a></td></tr></table>";} $ssql = "select * from livro " . $criterio; $rs = mysql_query($ssql,$connection); $num_total_registos = mysql_num_rows($rs); $total_paginas = ceil($num_total_registos / $TAMANHO_PAGINA); echo "<table width=400 border=0 align=center cellpadding=0 cellspacing=0><tr><td width=100><div align=center class=texto>"; echo "Total:" . $num_total_registos; echo "</div></td><td width=100><div align=center class=texto>"; if ($total_paginas > 1){ for ($i=1;$i<=$total_paginas;$i++){ if ($pagina == $i) echo $pagina . " "; else echo "<a class=links href='resul.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> "; }} echo "</div></td><td width=100><div align=center class=texto>"; echo $pagina . " de " . $total_paginas; echo "</div></td></tr></table>";?>aeAe cara, olha, pelo que eu percebi eu só tive que corta aquele if/else do for final.
cortei também essa tua categoria/chave, só pra testa paginação mesmo.
então aqui funciono tudo 100%.
dê uma comparada só pra você ver como fico meu código:
obs: não tenho mysql, só postgresql, mas a única coisa que muda é o prefixo das funções de mysql pra pg e vice versa. e otra, no postgre é diferente a parte de limit, basta eu dizer que é o inverso (tem dois dados, limit e offset, eles vão na ordem inversa mas isso é do postgre, no mysql é como você fez mesmo).
ai vai:
$TAMANHO_PAGINA = 3;$pagina = $_GET["pagina"];if (!$pagina) { $inicio = 0; $pagina=1;}else { $inicio = ($pagina - 1) * $TAMANHO_PAGINA;}$ssql = "select * from ask_question order by id asc limit $TAMANHO_PAGINA offset $inicio";$rs = pg_query($bdcon, $ssql) or pg_last_error("erro");echo "foi pro loop<br />";$row = 0;while ($fila = pg_fetch_object($rs, $row)){ echo "<table width=400 border=0 align=center cellpadding=0 cellspacing=6><tr><td width=49 rowspan=3>"; echo $fila->id; echo "</td><td height=27 colspan=2 class=texto>"; echo $fila->title; echo "</td></tr><tr><td height=31 colspan=2 class=texto>"; echo $fila->body; echo "</td></tr><tr><td width=189 height=19><a href=# class=links>Detalhes</a></td><td width=162>"; echo $fila->createdAt; echo "</td></tr></table>"; $row++;}$ssql = "select * from ask_question order by id asc";$rs = pg_query($bdcon, $ssql);$num_total_registos = pg_num_rows($rs);$total_paginas = ceil($num_total_registos / $TAMANHO_PAGINA);echo "<table width=400 border=0 align=center cellpadding=0 cellspacing=0><tr><td width=100><div align=center class=texto>";echo "Total:" . $num_total_registos;echo "</div></td><td width=100><div align=center class=texto>"; for ($i = 1; $i <= $total_paginas; $i++){ echo "<a class=links href='testepg.php?pagina=".$i."'>".$i."</a>"; }echo "</div></td><td width=100><div align=center class=texto>";echo $pagina." de ".$total_paginas;echo "</div></td></tr></table>";
de um zóio e qualque coisa diz aí, flws!
com certeza você trocou alguma variável, mas a gente só vai saber com exatidão vendo teu código.poste aí.flws!