vini_loock Postado Junho 10, 2010 Denunciar Share Postado Junho 10, 2010 (editado) Olá.Eu quero saber como que eu faço para exibir um numero determinado de paginas na paginação.Exemplo:teno 10 paginas mas eu quero que exiba 3.primeira << 1 - 2 - 3 ... >> ultimaEu upei uma imagen, mas acho que nem precisava xD. Mas pra não ter perdido tempo ai vai ela.http://img814.imageshack.us/img814/2079/semttulo1d.pngIsso ai.VlwRESOLVIDOachei um código pronto, dai foi só alterar algumas coisas.$quantidade = 5; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; $inicio = ($quantidade * $pagina) - $quantidade; $sqlTotal = "SELECT * FROM $categoria"; $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); $numTotal = mysql_num_rows($qrTotal); $totalPagina = ceil($numTotal/$quantidade); if($totalPagina != 1){ echo"<div id=paginacao>"; if($pagina ==1){ echo"<div id=sem>Primeira página</div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=1\">Primeira página</a></div>"; } if($pagina ==1){ echo"<div id=sem><<</div>"; }else{ $p = $_GET['pagina']; for($i = $p; $i == $p; $i--); echo "<div id=com><a href=\"?local=$categoria&pagina=$i\"><<</a></div>"; } $p = $_GET['pagina']; for($i = $p; $i == $p; $i++); $paginaMenos = $i-1; if($paginaMenos > 2){ echo "<div id=sem>aaa</div>"; } $exibir = 3; for($i = $pagina-$exibir; $i <= $pagina-1; $i++){ if($i > 0) echo '<div id=com><a href="?local='.$categoria.'&pagina='.$i.'"> '.$i.' </a></div>'; } echo "<div id=sem><a href=\"?local=$categoria&pagina=$pagina\">".$i."</a></div>"; for($i = $pagina+1; $i < $pagina+$exibir; $i++){ if($i <= $totalPagina) echo '<div id=com><a href="?local='.$categoria.'&pagina='.$i.'"> '.$i.' </a></div>'; } $totalMais = $totalPagina-1; $paginaAtual = $i-1; if($paginaAtual < $totalMais){ echo "<div id=sem>bbb</div>"; } $inovo = ($i-1); if($inovo == $totalPagina){ echo"<div id=sem>>></div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=$i\">>></a></div>"; } if($pagina == $totalPagina){ echo"<div id=sem>Última página</div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=$totalPagina\">Última página</a></div>"; } echo "<div id=paginaquantidade>Página $pagina de $totalPagina</div>"; echo"</div>"; }Vlw Editado Junho 10, 2010 por vini_loock Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Junho 10, 2010 Denunciar Share Postado Junho 10, 2010 Tem como postar o código da paginação? Normalmente é uma variavel que guarda o valor de quantos numeros aparecem, postando o código fica mais fácil da gente encontrar ela. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Jam Postado Junho 10, 2010 Denunciar Share Postado Junho 10, 2010 Você tem que usar uma matematicazinha ai.Pega quantas paginas vai dar, ve a pagina atual, ai você coloca para exibir como quiser tipo:Exiba link Primeira Pagina Se(Pagina -1 não for a segunda) exiba reticencias Exibir Pagina-1, Exibir Pagina, Exibir Pagina +1 // faca também condicoes de se o nmro de paginas for >=5 Se (Pagina +1 não for a ultima) exiba reticencias Exiba link Ultima Paginatem q ter toda uma logica ai na quebrada, facil você consegue Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vini_loock Postado Junho 10, 2010 Autor Denunciar Share Postado Junho 10, 2010 (editado) O código é esse.$quantidade = 5; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; $inicio = ($quantidade * $pagina) - $quantidade; $sqlTotal = "SELECT * FROM $categoria"; $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); $numTotal = mysql_num_rows($qrTotal); $totalPagina = ceil($numTotal/$quantidade); if($totalPagina != 1){ echo"<div id=paginacao>"; if($pagina ==1){ echo"<div id=sem>Primeira página</div>"; echo"<div id=sem><<</div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=1\">Primeira página</a></div>"; $p = $_GET['pagina']; for($i = $p; $i == $p; $i--); echo "<div id=com><a href=\"?local=$categoria&pagina=$i\"><<</a></div>"; } for($i = 1; $i <= $totalPagina; $i++) if($i == $pagina){ echo "<div id=ativo>$i</div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=$i\">$i</a></div>"; } $p = $_GET['pagina']; for($i = $p; $i == $p; $i++); $inovo = ($i-1); if($inovo == $totalPagina){ echo"<div id=sem>>></div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=$i\">>></a></div>"; } if($pagina == $totalPagina){ echo"<div id=sem>Última página</div>"; }else{ echo "<div id=com><a href=\"?local=$categoria&pagina=$totalPagina\">Última página</a></div>"; } echo "<div id=paginaquantidade>Página $pagina de $totalPagina</div>"; echo"</div>"; } Vo tentar fazer isso que você falou Douglas Jam Vlw EDIT-[ Ficou assim:$paginaMenos = $i-1; if($paginaMenos > 2){ echo "aaa"; } $totalMais = $totalPagina-1; $paginaAtual = $i-1; if($paginaAtual < $totalMais){ echo "bbb"; }A parte das reticendias eu entendi, só não entendi como exibir exibir só 3 links.]- Editado Junho 10, 2010 por vini_loock Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vini_loock
Olá.
Eu quero saber como que eu faço para exibir um numero determinado de paginas na paginação.
Exemplo:
teno 10 paginas mas eu quero que exiba 3.
primeira << 1 - 2 - 3 ... >> ultima
Eu upei uma imagen, mas acho que nem precisava xD. Mas pra não ter perdido tempo ai vai ela.
http://img814.imageshack.us/img814/2079/semttulo1d.png
Isso ai.
Vlw
RESOLVIDO
achei um código pronto, dai foi só alterar algumas coisas.
Vlw
Editado por vini_loockLink para o comentário
Compartilhar em outros sites
3 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.