Olá amigos, estou estudando PHP a uma semana, mas programa em ASP a 8 anos, estou adorando as facilidades da linguagem, mas me deparei com um problema no paginação de um sistema que estou migrando para PHP.
a paginação está funcionando corretamente, exibindo os links certinho, mas esse sistema tem uns 30 mil cadastros e a quantidade de números exibidos na paginação gigante.
Eu gostaria que exibisse no máximo 15 links, conforme for avançando na paginação e me apresenta os demais links. E:
Hoje está assim: << < 1 3 4 5 6 7 . . . . . mostra todos até acabar > >>.
Eu gostaria que fosse assim. << < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > >>
Conforme vai avançando ele faz dessa forma << < 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > >>.
Pergunta
AlexMunhoz
Olá amigos, estou estudando PHP a uma semana, mas programa em ASP a 8 anos, estou adorando as facilidades da linguagem, mas me deparei com um problema no paginação de um sistema que estou migrando para PHP.
a paginação está funcionando corretamente, exibindo os links certinho, mas esse sistema tem uns 30 mil cadastros e a quantidade de números exibidos na paginação gigante.
Eu gostaria que exibisse no máximo 15 links, conforme for avançando na paginação e me apresenta os demais links. E:
Hoje está assim: << < 1 3 4 5 6 7 . . . . . mostra todos até acabar > >>.
Eu gostaria que fosse assim. << < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > >>
Conforme vai avançando ele faz dessa forma << < 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > >>.
acredito que tenha explicado bem.
segue o código a baixo.
//INICIO DA PAGINAÇÃO $sSQL = ""; $sSQL .= " SELECT COUNT(ID) FROM cad_aluno "; $limite = 50; //Resultado por paginas $SQL_COUNT = mysql_query($sSQL); $SQL_RESULT = ceil(mysql_result($SQL_COUNT, 0) / $limite); $SQL_TOTAL = ceil(mysql_result($SQL_COUNT, 0)); $pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1; $start = ($pg - 1) * $limite; // Executa a query chamando o conteudo do banco. $sSQL = ""; $sSQL .= " SELECT AlunoID, ExID, Nome, Cidade, Data_Cadastro, Data_Nascimento, Ativo FROM cad_aluno "; $sql_query = mysql_query($sSQL); while ($oRS = mysql_fetch_array($sql_query)) {// EXIBE OS RESULTADOS}; //numeros da paginacao if($SQL_RESULT > 1 && $pg <= $SQL_RESULT){ echo "<div id='quatidade_de_paginas'>Página: $pg de $SQL_RESULT</div>"; echo "<div id='numeros_de_navegacao'>"; if($pg > 1) { echo "<div id='numeros'><a href='?pg=1' class='pag'><img src='../imgpg/primeiro.gif' border=0></a></div>"; } else { echo "<div id='numeros_sem_link'><img src='../imgpg/primeiro.gif' border=0></div>"; } if($pg > 1) { echo "<div id='numeros'><a href=?pg='($pg -1)' class='pag'><img src='../imgpg/anterior.gif' border=0></a></div>"; } else { echo"<div id='numeros_sem_link'><img src='../imgpg/anterior.gif' border=0></div>"; } // numero de paginas for($i = 1; $i <= $SQL_RESULT; $i++) { if ($pg != $i) { echo "<div id='numeros'><a href='?pg=$i' class='pag'>$i</a></div> "; } else { echo "<div id='numeros_atual'>$i</div>"; } } if($pg < $SQL_RESULT) { echo "<div id='numeros'><a href=?pg='($pg +1)' class='pag'><img src='../imgpg/proximo.gif' border=0></a></div>"; } else { echo"<div id='numeros_sem_link'>></div> "; } if($pg != $SQL_RESULT) { echo "<div id='numeros'><a href='?pg=$SQL_RESULT' class='pag'><img src='../imgpg/ultimo.gif' border=0></a></div>"; } else { echo"<div id='numeros_sem_link'>>></div>"; } echo "</div>"; // Fechamento da div numPaginas }Alguém poderia me ajudar?
Desde já agradeço a todos que abriram esse post.
Duvidas devem ser colocadas no forum principal ( PHP )
Editado por JhonasLink para o comentário
Compartilhar em outros sites
0 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.