Paginação com tabelas em php

moriva

Power Member
No meu projecto de PHP tenho um ficheiro de paginação mas dá o seguinte erro:

Notice: Undefined variable: PHP_SELF in c:\programas\easyphp1-8\www\pat\paginacao.php on line 26

Notice: Undefined variable: PHP_SELF in c:\programas\easyphp1-8\www\pat\paginacao.php on line 32


Aqui vai o código do ficheiro:

Código:
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline}
-->
</style>
<?php
    $quant_pg = ceil($quantreg/$numreg);
    $quant_pg++;
    
    // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
    if ( $pg > 0) {
        echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>&laquo; anterior</b></a>";
    } else {
        echo "<font color=#CCCCCC>&laquo; anterior</font>";
    }
    
    // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
    for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {
        // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
        if ($pg == ($i_pg-1)) {
            echo "&nbsp;<span class=pgoff>[$i_pg]</span>&nbsp;";
        } else {
            $i_pg2 = $i_pg-1;
            echo "&nbsp;<a href=".$PHP_SELF."?pg=$i_pg2 class=pg><b>$i_pg</b></a>&nbsp;";
        }
    }
    
    // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
    if (($pg+2) < $quant_pg) {
        echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo &raquo;</b></a>";
    } else {
        echo "<font color=#CCCCCC>próximo &raquo;</font>";
    }
?>
 
Última edição pelo moderador:
Agora dá vários erros muito esquisitos. E esquisitos porque são erros de um ficheiro diferente porque o ficheiro onde estou a trabalhar não é o edita_andebol.php. Aparece mais erros mas são todos parecidos com este:


Notice: Undefined index: tipo in c:\programas\easyphp1-8\www\pat\edita_andebol.php on line 5

Aqui vai o código do ficheiro listar_registos_andebol.php:

Código:
<html>
    <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link type="text/css" href="geral.css" rel="stylesheet">
        <link rel="stylesheet" href="tabela.css" type="text/css" media="screen"/>        
    </head>
    <body>
        <?php
            require_once("connect.php");
            $query2 = 'select * from andebol';
            $result = mysql_query ($query2); 
        ?>
</table>

            <table class="tabelaCentrada" id="tabela">
                <tr>
                    <td class="tabelarTitulos">Codigo de Jogo</td>
                    <td class="tabelarTitulos">Tipo</td>
                    <td class="tabelarTitulos">Data</td>
                    <td class="tabelarTitulos">Hora</td>
                    <td class="tabelarTitulos">Local</td>
                    <td class="tabelarTitulos">Nome Equipa1</td>
                    <td class="tabelarTitulos">Nome Equipa2</td>
                    <td class="tabelarTitulos">1ºPeriodo Equipa1</td>
                    <td class="tabelarTitulos">1ºPeriodo Equipa2</td>
                    <td class="tabelarTitulos">2ºPeriodo Equipa1</td>
                    <td class="tabelarTitulos">2ºPeriodo Equipa2</td>
                    <td class="tabelarTitulos">Final Equipa1</td>
                    <td class="tabelarTitulos">Final Equipa2</td>
                    <td class="tabelarTitulos">Remoção</td>
                    <td class="tabelarTitulos">Edição</td>
                </tr>
            <?php while ($row = mysql_fetch_array ($result)){ ?>
                <tr>
                    <td class="tabelarCampo"><?php echo $row['Cod_Jogo'] ?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Tipo']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Data']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Hora']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Local']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Equipa1']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Equipa2']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Periodo1Equipa1']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Periodo1Equipa2']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Periodo2Equipa1']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['Periodo2Equipa2']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['FinalEquipa1']);?></td>
                    <td class="tabelarCampo"><?php echo utf8_encode($row['FinalEquipa2']);?></td>
                    <td class="tabelarCampo"><a href="remove_andebol.php?Cod_Jogo=<? echo $row['Cod_Jogo'];?>">Remover</td>
                    <td class="tabelarCampo"><a href="editar_andebol.php?Cod_Jogo=<? echo $row['Cod_Jogo'];?>">Editar</td>
                </tr>
            <?php
            }
            ?>
            </table>
            <form class="tituloFormulario" method="get" action="inserir_andebol.php" name="fr_listar">
        <center><button class="botoesFormulario" value="Introduzir Mais" name="Introduzir Mais" type="submit" size="20">Introduzir Mais</button><p>
        <a href="escolha_modalidades.php">Listagens</a><p>
        <a href="pesquisar_andebol.php">Pesquisar</a><p>
        <a href="listar_consultas_andebol.php">Consultar</a><p>
        <a href="listar_registos_andebol.php">Retirar Pesquisa</a><p>
        </form>
        
<?php
//######### INICIO Paginação
    $numreg = 10; // Quantos registros por página vai ser mostrado
    if (!isset($pg)) {
        $pg = 0;
    }
    $inicial = $pg * $numreg;
    
//######### FIM dados Paginação
    
    // Faz o Select pegando o registro inicial até a quantidade de registros para página
    $sql = mysql_query("SELECT * FROM andebol LIMIT $inicial, $numreg");

    // Serve para contar quantos registros você tem na seua tabela para fazer a paginação
    $sql_conta = mysql_query("SELECT * FROM andebol");
    
    $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
    
    include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
    
    echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
    
    while ($aux = mysql_fetch_array($sql)) {
        /* Ai o resto é com voces em montar como deve parecer o conteúdo */
    }
?>
        </body>
</html>

Se alguem descobrir o erro agradecia muito.
 
Última edição pelo moderador:
Isso não são erros, são notices.

Significam um sinal de má programação, mas quer estivesse correctamente verificado se as variáveis existem ou não, o resultado seria o mesmo, portanto se alguma coisa não funciona, não é por causa de um notice, o que ai diz é que a variável tipo, não está definida.
 
A minha ideia era que aparecessem 10 registos na tabela e ao carregar no numero dois aparecessem os restantes registos e por ai fora.

Mas, mostra todos os registos na mesma página apesar de aparecer os numeros das páginas. Ao clicar nos numeros das páginas aparece a seguinte notice:

Notice: Undefined index: Cod_Jogo in c:\programas\easyphp1-8\www\pat\remove_andebol.php on line 5


Cada registo tem um código portanto eu não percebo o que significa.
Alguem me ajude por favor.
 
"Notice: Undefined index: tipo in c:\programas\easyphp1-8\www\pat\edita_andebol.php on line 5"
Tens de nos fornecer o ficheiro q esta ai para estudar o codigo.

Penso q esse problema esta relacionado com arrays.
 
Back
Topo