• 0
Sign in to follow this  
AlexMunhoz

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

Question

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 )

Edited by Jhonas

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this