Jump to content
Fórum Script Brasil
  • 0

Problema com paginacao PHP Mysql


magassomba

Question

Caros amigos,

Pretendo paginas os resultados suma consulta só que ele está me dando um problema, quando clico em seguinte ele acrescenta os outros resultados na mesma página assim sucessivamente. Fiz um script de paginacao seguinte:

<?php
include("connection.php");
echo "<div id='pag'>";
//Paginação dos resulatdos
//Numero maximo de registo por página
    define ('SHOWMAX',4);
//Obter o total de linhas na tabela
    $getTotal="SELECT COUNT(*) FROM teses";
    $total=mysql_query($getTotal,$connect);
    $row=mysql_fetch_row($total);
    $totalPix=$row[0];

//Obter a página actual
    if(isset($_GET['curPage'])){
        $curPage=$_GET['curPage'];
        }else{
        $curPage=0;
        }
//Calcular a row inicial
    $startRow=$curPage*SHOWMAX;
    $next=$curPage+1;
    $prev=$curPage-1;

//exibir os resulatdados obtidos em toda tabela
    echo "Mostrar de &nbsp;";
    echo $startRow+1;
        if($startRow+1<$totalPix){
    echo "&nbsp;a&nbsp;";
        if($startRow+SHOWMAX<$totalPix){
        echo $startRow+SHOWMAX;
        }else{
        echo "&nbsp;".$totalPix;
        }
        }
    echo "&nbsp;num total de &nbsp;".$totalPix."&nbsp;resultados<br>";

//Navegar entre os resultados
//criar o link back


if($curPage>0){
    echo "<a href=\"ultimasTeses.php?curPage=";
    echo $prev;
    echo "\">&lt;Anterior</a>";
    }else{
    echo "&nbsp;";
    }
//criar o link forward
if($startRow+SHOWMAX<$totalPix){
        echo "<a href=\"ultimasTeses.php?curPage=";
        echo $next;
        echo "\">Seguinte&gt;</a>";
    }else{
        echo "&nbsp;";
    }
    echo "<br>";
    echo "</div>";
    echo "<br>";
    
?>
eu depois chamo esse código na página seguinte:
<?php
include("connection.php");
include("pagination.php");
// Selecionar tabela base de dados

        $query="SELECT * FROM teses 
                ORDER BY autor ASC
                LIMIT $startRow".SHOWMAX;
                
                
        $result=mysql_query($query, $connect);
        
        
        $ordem=1;
        while ($row=mysql_fetch_array($result)){
        echo $ordem ." "."-"." ";
        echo "<b>".$row["apelido"]."</b>".", "." ";    
        echo "<b>".$row["autor"]."</b>".". "." ";
        echo "<u>". $row["tema"]."</u>".", ". " ";
        echo $row["ano"].". "." ";
        echo "<br>";
        echo $row["curso"].": "." ";
        echo $row["nivel"]."."."";
        echo "<br>";
        echo "<b>Supervisor:</b>"." ".$row["supervisor"].". "." ";
        echo "<br>";
        echo "<b> Resumo:</b>";
        ?>
        
        <?php 
        $extract = getFirst($row['resumo']);
        echo $extract[0];
            if ($extract[1]) {
                    echo "<a href='details.php?teses_ID=" .$row["teses_ID"]."'>Ler mais</a>";
                    } 
        ?>
                
        
        <?php
        echo"<br><br>";
        
        $ordem++;
            }
            
        mysql_close($connect);
            
    

?>

alguém pode me ajudar?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

cara, dizendo rapidamente, pela logica, você tem que mostrar a primeira pagina e verificar qual o ultimo id mostrado. nos numeros das paginas la em baixo você pega por get.

Ex mostrando 20 por pagina

mostrando os 20

[1][2][3][4]...

O [1] vai ter a variavel 21

O [2] vai ter a variavel 41

...

ai no select você usa where paga pegar todos os id

um if para verificar se o id é de 21 até 40 e mostra!

Link to comment
Share on other sites

  • 0
cara, dizendo rapidamente, pela logica, você tem que mostrar a primeira pagina e verificar qual o ultimo id mostrado. nos numeros das paginas la em baixo você pega por get.

Ex mostrando 20 por pagina

mostrando os 20

[1][2][3][4]...

O [1] vai ter a variavel 21

O [2] vai ter a variavel 41

...

ai no select você usa where paga pegar todos os id

um if para verificar se o id é de 21 até 40 e mostra!

Entendi a lógica, mas cmo sou um leigo não estou a hver como fazer isso, pode dar uma ajudinha? Esse script fiz depois de ler vários artigos!

Link to comment
Share on other sites

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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...