Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar o numero de links exibidos na paginação.


AlexMunhoz

Pergunta

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 Jhonas
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...