1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Paginação com tabelas em php

Discussão em 'Web Development' iniciada por moriva, 11 de Junho de 2008. (Respostas: 5; Visualizações: 2252)

  1. moriva

    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: 11 de Junho de 2008
  2. MPalhas

    MPalhas Power Member

    usa $_SERVER['PHP_SELF']
     
  3. moriva

    moriva Power Member

    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: 12 de Junho de 2008
  4. hostmake

    hostmake Power Member

    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.
     
  5. moriva

    moriva Power Member

    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.
     
  6. metralha761

    metralha761 1st Folding then Sex

    "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.
     

Partilhar esta Página