Radubrêdo 0 Denunciar post Postado Setembro 3, 2004 Consegui esse código de paginação no site do phpbrasil, porém fui testá-lo, dai está apresentando um erro: ta dando erro de q a váriavel $página (referente a parte sublinha do código abaixo) nao ter sido definida. Alguém poderia me ajudar a descobrir o significado dessa variável e como faço para eliminar esse erro? //Primeiramente realize a conexão ao MySQL. <?php $conn = mysql_connect("host","user","senha"); $banco = mysql_select_db("bancodedados"); ?> //Agora vamos criar a cláusula SQL que deve ser executada. <?php $busca = "SELECT * FROM tabela"; ?> //Vamos ao trabalho... Especifique o total de registros a serem exibidos por página: <?php $total_reg = "10"; // número de registros por página ?> //Se a página não for especificada a variável "pagina" tomará o valor 1 (isso evita de exibir a página 0 de início) <?php if (!$pagina) { $pc = "1"; } else { $pc = $pagina; } ?> //Vamos determinar o valor inicial das buscas limitadas. <?php $inicio = $pc - 1; $inicio = $inicio * $total_reg; ?> //Vamos selecionar os dados e exibir a paginação. <?php $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); $todos = mysql_query("$busca"); $tr = mysql_num_rows($todos); // verifica o número total de registros $tp = $tr / $total_reg; // verifica o número total de páginas // vamos criar a visualização while ($dados = mysql_fetch_array($limite)) { $nome = $dados["nome"]; echo "Nome: $nome<br>"; } // agora vamos criar os botões "Anterior e próximo" $anterior = $pc -1; $proximo = $pc +1; if ($pc>1) { echo " <a href='?pagina=$anterior'><- Anterior</a> "; } echo "|"; if ($pc<$tp) { echo " <a href='?pagina=$proximo'>Próxima -></a>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
covered 0 Denunciar post Postado Setembro 3, 2004 esse script funcionou aqui Compartilhar este post Link para o post Compartilhar em outros sites
Radubrêdo 0 Denunciar post Postado Setembro 3, 2004 esse script funcionou aqui você não modificou nada nesse código para q ele funcionace?De qualquer forma você poderia me explicar a função da variável Página?Um abraço! Compartilhar este post Link para o post Compartilhar em outros sites
covered 0 Denunciar post Postado Setembro 3, 2004 tah dando o erro e aparecendo os links ou soh tah dando o erro? Compartilhar este post Link para o post Compartilhar em outros sites
Radubrêdo 0 Denunciar post Postado Setembro 3, 2004 tah dando o erro e aparecendo os links ou soh tah dando o erro? Eu fiz definir para aparecer o conteúdo de um único registro por página.Dai quando mando executar....aparece o conteúdo de um único registro + mensagem de erro (variável $pagina não definida) + link (próximo).Porém qdo clico no link próximo, a página continua a mesma, ou seja, não mostra o conteúdo dos outros registros. Compartilhar este post Link para o post Compartilhar em outros sites
Radubrêdo 0 Denunciar post Postado Setembro 4, 2004 tah dando o erro e aparecendo os links ou soh tah dando o erro?Eu fiz definir para aparecer o conteúdo de um único registro por página.Dai quando mando executar....aparece o conteúdo de um único registro + mensagem de erro (variável $pagina não definida) + link (próximo). Porém qdo clico no link próximo, a página continua a mesma, ou seja, não mostra o conteúdo dos outros registros. Esse outro script é mais elabordo...mas tá dando erro tb: <? //Conexão com o banco de dados include "conecta_mysql.inc"; $sql = mysql_query("SELECT * FROM tabela"); $lpp = 1; // Especifique quantos resultados você quer por página $total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela $paginas = ceil($total / $lpp); // Retorna o total de páginas if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada $inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL $sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas. while($dados = mysql_fetch_array($sql)) { $Q_1 = $dados["Q_1"]; $Q_2 = $dados["Q_2"]; echo "<b>Nome:</b> $Q_1<br>"; echo "<b>Nascimento:</b> $Q_2<br>"; } if($pagina > 0) { $menos = $pagina - 1; $url = "$PHP_SELF?pagina=$menos"; echo "<a href="$url">Anterior</a>"; // Vai para a página anterior } for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas $url = "$PHP_SELF?pagina=$i"; echo " | <a href="$url">$i</a>"; } if($pagina < ($paginas - 1)) { $mais = $pagina + 1; $url = "$PHP_SELF?pagina=$mais"; echo " | <a href="$url">Próxima</a>"; } ?> Será q preciso modificar alguma coisa, para poder funcionar? Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Setembro 4, 2004 O possivel erro é estar com REGISTER GLOBALS OFF que implica em todas as variaveis globais do PHP tem de ser declaradas por completo, como: $_SERVER, $_REQUEST, $_POST...Ou seja, $_REQUEST['pagina'] é diferente de $pagina,voce tem duas opcoes... ou mudar na config do PHP pra habilitar o register globals ou alterar $pagina por $_REQUEST['pagina']Isso ocorre quando se esta usando o EasyPHP 1.7 que vem com esta opcao desabilitada...Veja se é isso.. Compartilhar este post Link para o post Compartilhar em outros sites
Radubrêdo 0 Denunciar post Postado Setembro 4, 2004 O possivel erro é estar com REGISTER GLOBALS OFF que implica em todas as variaveis globais do PHP tem de ser declaradas por completo, como: $_SERVER, $_REQUEST, $_POST... Ou seja, $_REQUEST['pagina'] é diferente de $pagina, voce tem duas opcoes... ou mudar na config do PHP pra habilitar o register globals ou alterar $pagina por $_REQUEST['pagina'] Isso ocorre quando se esta usando o EasyPHP 1.7 que vem com esta opcao desabilitada... Veja se é isso.. Valeu pela ajuda! Agora gostaria de saber qual melhor escolha: mudar na config do PHP pra habilitar o register globals ou alterar $pagina por $_REQUEST['pagina'] Como será q vai funcionar sem problemas no servidor do provedor? Como saberei sobre o comportamento do meu programa qdo estiver rodando no provedor? Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Setembro 5, 2004 o que nao causa erro em nenhum lugar é usar o metodo do register globals off.. usando sempre $_POST $_REQUEST... e etc.. eu trabalho desse modo... pq uso o Easy PHP... mas mtos n usam... segundo a documentacao do EasyPHP isso melhora o desempenho dos scripts.. como n sou expert em benchmark.. n posso afirmar essa info.. a escolha vai de cada um.. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
Radubrêdo 0 Denunciar post Postado Setembro 5, 2004 o que nao causa erro em nenhum lugar é usar o metodo do register globals off.. usando sempre $_POST $_REQUEST... e etc.. eu trabalho desse modo... pq uso o Easy PHP... mas mtos n usam... segundo a documentacao do EasyPHP isso melhora o desempenho dos scripts.. como n sou expert em benchmark.. n posso afirmar essa info.. a escolha vai de cada um.. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Galera, fiz a modificação nas partes sublinhadas abaixo: 1) acrescentei $pagina= $_REQUEST['pagina']; para resolver o problema do REGISTER GLOBALS OFF 2) mesmo assim continuou dando erro, dai eu modifiquei: if (!($pagina)) para if (empty($pagina)) Assim gostaria que vcs testassem ai para ver se funciona normalmente. <?php //Conexão com o banco de dados include "conecta_mysql.inc"; //Agora vamos criar a cláusula SQL que deve ser executada $busca = "SELECT * FROM enquete"; //Vamos especificar o total de registros a serem exibidos por página: $total_reg = "1"; // número de registros por página $pagina= $_REQUEST['pagina']; //Se a página não for especificada a variável "pagina" tomará o valor 1 (isso evita de exibir a página 0 de início) if (empty($pagina)) { $pc = "1"; } else { $pc = $pagina; } //Vamos determinar o valor inicial das buscas limitadas. $inicio = $pc - 1; $inicio = $inicio * $total_reg; //Vamos selecionar os dados e exibir a paginação. $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); $todos = mysql_query("$busca"); $tr = mysql_num_rows($todos); // verifica o número total de registros $tp = $tr / $total_reg; // verifica o número total de páginas // vamos criar a visualização while ($dados = mysql_fetch_array($limite)) { $Q_1 = $dados["Q_1"]; $Q_2 = $dados["Q_2"]; echo "<b>Nome:</b> $Q_1<br>"; echo "<b>Nascimento:</b> $Q_2<br>"; } // agora vamos criar os botões "Anterior e próximo" $anterior = $pc -1; $proximo = $pc +1; if ($pc>1) { echo " <a href='?pagina=$anterior'><- Anterior</a> "; } echo "|"; if ($pc<$tp) { echo " <a href='?pagina=$proximo'>Próxima -></a>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
jean_c_g 0 Denunciar post Postado Abril 21, 2005 o que nao causa erro em nenhum lugar é usar o metodo do register globals off.. usando sempre $_POST $_REQUEST... e etc.. eu trabalho desse modo... pq uso o Easy PHP... mas mtos n usam... segundo a documentacao do EasyPHP isso melhora o desempenho dos scripts.. como n sou expert em benchmark.. n posso afirmar essa info.. a escolha vai de cada um.. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Galera, fiz a modificação nas partes sublinhadas abaixo: 1) acrescentei $pagina= $_REQUEST['pagina']; para resolver o problema do REGISTER GLOBALS OFF 2) mesmo assim continuou dando erro, dai eu modifiquei: if (!($pagina)) para if (empty($pagina)) Assim gostaria que vcs testassem ai para ver se funciona normalmente. <?php //Conexão com o banco de dados include "conecta_mysql.inc"; //Agora vamos criar a cláusula SQL que deve ser executada $busca = "SELECT * FROM enquete"; //Vamos especificar o total de registros a serem exibidos por página: $total_reg = "1"; // número de registros por página $pagina= $_REQUEST['pagina']; //Se a página não for especificada a variável "pagina" tomará o valor 1 (isso evita de exibir a página 0 de início) if (empty($pagina)) { $pc = "1"; } else { $pc = $pagina; } //Vamos determinar o valor inicial das buscas limitadas. $inicio = $pc - 1; $inicio = $inicio * $total_reg; //Vamos selecionar os dados e exibir a paginação. $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); $todos = mysql_query("$busca"); $tr = mysql_num_rows($todos); // verifica o número total de registros $tp = $tr / $total_reg; // verifica o número total de páginas // vamos criar a visualização while ($dados = mysql_fetch_array($limite)) { $Q_1 = $dados["Q_1"]; $Q_2 = $dados["Q_2"]; echo "<b>Nome:</b> $Q_1<br>"; echo "<b>Nascimento:</b> $Q_2<br>"; } // agora vamos criar os botões "Anterior e próximo" $anterior = $pc -1; $proximo = $pc +1; if ($pc>1) { echo " <a href='?pagina=$anterior'><- Anterior</a> "; } echo "|"; if ($pc<$tp) { echo " <a href='?pagina=$proximo'>Próxima -></a>"; } ?> <{POST_SNAPBACK}> |Tentei adaptar este script ao meu. Quando vou para a proxima página fica em branco Compartilhar este post Link para o post Compartilhar em outros sites