Thepeter Postado Abril 7, 2012 Denunciar Share Postado Abril 7, 2012 (editado) A minha Paginação esta a dar mal e eu não sei porque deixo vos aqui o código e o style para vocês me poderem ajudar a resolver o meu problemaPaginaçao.php<?php global $paginacao; if (!isset($_GET['pag'])) $_GET['pag']=1; $pag = ($_GET['pag']); $pag = filter_var($pag, FILTER_VALIDATE_INT); $inicio = 0; $limite = 7; if ($pag!='') { $inicio = $pag - 1; } $busca_total = mysql_query("SELECT COUNT(*) as total FROM anedota"); $total = mysql_fetch_array($busca_total); $total = $total['total']; $busca = mysql_query("SELECT * FROM anedota ORDER BY RAND() LIMIT $inicio, $limite"); if (mysql_num_rows($busca)>0) { while ($texto = mysql_fetch_array($busca)) { extract($texto); echo"<div class='post'> <a href='comentarios_an.php?cond=".$id_anedota."'><h2>".$titulo."</h2></a> <p>". $anedota . "</p> </div>"; } $prox = $pag + 1; $ant = $pag - 1; $ultima_pag = ceil($total / $limite); $penultima = $ultima_pag - 1; $adjacentes = 2; echo '<div class="paginacao" align="center">'; if ($pag>1) { $paginacao = '<a href="anedota.php?pag='.$ant.'">anterior</a>'; } if ($ultima_pag <= 5) { for ($i=1; $i< $ultima_pag+1; $i++) { if ($i == $pag) { $paginacao .= '<a class="atual" href="anedota.php?pag='.$i.'">'.$i.'</a>'; } else { $paginacao .= '<a href="anedota.php?pag='.$i.'">'.$i.'</a>'; } } } if ($ultima_pag > 5) { if ($pag < 1 + (2 * $adjacentes)) { for ($i=1; $i< 2 + (2 * $adjacentes); $i++) { if ($i == $pag) { if (isset($paginacao)) $paginacao .= '<a class="atual" href="anedota.php?pag='.$i.'">'.$i.'</a>'; else $paginacao = '<a class="atual" href="anedota.php?pag='.$i.'">'.$i.'</a>'; } else { if (isset($paginacao)) $paginacao .= '<a href="anedota.php?pag='.$i.'">'.$i.'</a>'; else $paginacao = '<a href="anedota.php?pag='.$i.'">'.$i.'</a>'; } } $paginacao .= '...'; $paginacao .= '<a href="anedota.php?pag='.$penultima.'">'.$penultima.'</a>'; $paginacao .= '<a href="anedota.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>'; } elseif($pag > (2 * $adjacentes) && $pag < $ultima_pag - 3) { $paginacao .= '<a href="anedota.php?pag=1">1</a>'; $paginacao .= '<a href="anedota.php?pag=1">2</a> ... '; for ($i = $pag-$adjacentes; $i<= $pag + $adjacentes; $i++) { if ($i == $pag) { $paginacao .= '<a class="atual" href="anedota.php?pag='.$i.'">'.$i.'</a>'; } else { $paginacao .= '<a href="anedota.php?pag='.$i.'">'.$i.'</a>'; } } $paginacao .= '...'; $paginacao .= '<a href="anedota.php?pag='.$penultima.'">'.$penultima.'</a>'; $paginacao .= '<a href="anedota.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>'; } else { $inic = $ultima_pag - (4 + (2 * $adjacentes)); if ($inic > 3){ $paginacao .= '<a href="anedota.php?pag=1">1</a>'; $paginacao .= '<a href="anedota.php?pag=1">2</a> ... '; } else{ $inic=3; $paginacao .= '<a href="anedota.php?pag=1">1</a>... '; } for ($i = $inic; $i <= $ultima_pag; $i++) { if ($i == $pag) { $paginacao .= '<a class="atual" href="anedota.php?pag='.$i.'">'.$i.'</a>'; } else { $paginacao .= '<a href="anedota.php?pag='.$i.'">'.$i.'</a>'; } } } } } if ($prox <= $ultima_pag && $ultima_pag >= 2) { $paginacao .= '<a href="anedota.php?pag='.$prox.'">próxima »</a>'; } echo $paginacao; echo '</div>'; ?> Editado Abril 7, 2012 por Thepeter Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Abril 7, 2012 Denunciar Share Postado Abril 7, 2012 Qual o erro que retorna ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 7, 2012 Denunciar Share Postado Abril 7, 2012 Paginação com rand? Você vai ter que semear um número e usar ele sempre para que não se repitram os resultados. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thepeter Postado Abril 8, 2012 Autor Denunciar Share Postado Abril 8, 2012 (editado) Eu meti o Rand para ele ao passar para a 2 pagina mudar senão não muda ficam os meus registos , e não sei porque que não muda de registos :S Editado Abril 8, 2012 por Thepeter Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 8, 2012 Denunciar Share Postado Abril 8, 2012 O RAND() serve para deixar um resultado randômico, se você estiver paginando este resultado, pode que os resultados da primeira página apareçam na segunda, já que está randômico, por isto você tem que sortear um número e usar ele dentro do rand sempre, assim fica um randômico "controlado". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thepeter Postado Abril 9, 2012 Autor Denunciar Share Postado Abril 9, 2012 Sim mas eu queria tipo tirar o Rand e na primeira pagina aparecer 1 ao 10 e na segunda do 11 ao 20 mas não da Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 11, 2012 Denunciar Share Postado Abril 11, 2012 É só remover o ORDER BY RAND() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thepeter Postado Abril 17, 2012 Autor Denunciar Share Postado Abril 17, 2012 Se eu tirar o rand não aparece os outros registos a aparecem os mesmos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Abril 17, 2012 Denunciar Share Postado Abril 17, 2012 como não? sem o rand ele mantem a sequencia por ID que é dafult mostrando os valores ate o LIMIT que foi passado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ricardo T. do Prado Postado Abril 18, 2012 Denunciar Share Postado Abril 18, 2012 procure por jqpager, "write less, do more" Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thepeter
A minha Paginação esta a dar mal e eu não sei porque deixo vos aqui o código e o style para vocês me poderem ajudar a resolver o meu problema
Paginaçao.php
Editado por ThepeterLink para o comentário
Compartilhar em outros sites
9 respostass 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.