Ir para


Aviso aos navegantes: O PHPMania está com novidades e esperamos que gostem. Caso encontrem algum erro, ou tenham alguma dúvida e/ou sugestão crie um tópico clicando aqui.

Como paginar usando PostGres e PHP

php postgres paginacao

  • Please log in to reply
No replies to this topic

#1 SilverioM

SilverioM

    Novato

  • Membros
  • Pip
  • 1 Posts:

Postou 31 maro 2017 - 11:12

/*
Funciona mal porque so identifica a divisao das paginas pelo numero de imagens(Produtos) mas nao apresenta o resulado dividido em 9 produtos por pagina, apresenta todos eles em todas paginas. Alguem me ajuda?
*/
  


<?php

    include("conexao.php");
    
    if (!isset($_POST['pg'])) {
        $pagina = 1;
    } else {
        $pagina = $_POST['pg'];
    }


    //Consulta para pegar a quantidade total de registos
    $sql    = "SELECT * FROM img";
    $rs     = pg_query($sql);


    // Contando o numero de registos
    $qtd_registos    = pg_num_rows($rs);



    // Definir o numero de paginas por registo
    $npp    = 9;
    $qtd_total_pg    = ceil($qtd_registos/$npp);


    // Montando a SQL
    $pp     = (($pagina * $npp) - $npp);
    // $sql     = "SELECT * FROM img LIMIT ". $pp ." , " . $npp;
    $sql     = "SELECT * FROM img LIMIT $pp  OFFSET $npp";

    $rs     = pg_query($sql) or die("Paginacao Falhou" . pg_last_error());



    // Seguimento da pagina anterior e posterior
    $link_anterior = "";
    $link_posterior    = "";
    if ($pagina > 1) {
        $link_anterior    = "<a href='index.php?pg=". ($pagina - 1 ) . "'>[Antereior]</a>";
    }

    if ($pagina < $qtd_total_pg) {
        $link_posterior    = "<a href='index.php?pg=". ($pagina + 1 ) . "'>[Seguinte]</a>";
    }



    // Calculando o link anterior
    if (($pagina - 4) < 1) {
        $anterior     = 1;
    }else{
        $anterior     = $pagina - 4;
    }



    // Calculando o link posterior
    if (($pagina + 4) > $qtd_total_pg) {
        $posterior     = $qtd_total_pg;
    }else{
        $posterior     = $pagina + 4;
    }

    

    $link_paginacao    = "";

    for ($i=$anterior; $i <= $posterior; $i++) {

        $link_paginacao    .= "<a href='index.php?pg=". $i ."'>[". $i ."]</a>";

    }

    echo $link_anterior . "&nbsp;&nbsp;" . $link_paginacao . "&nbsp;&nbsp;" . $link_posterior;

?>





Also tagged with one or more of these keywords: php, postgres, paginacao

0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)