Guest Lukas Posted January 24, 2005 Report Share Posted January 24, 2005 Tipow , eu tenho este codigo aki:<?php$nomes = array("João", "Maria", "José", "Carlos", "Eduarda", "Paula", "Joana", "Marcelo", "Thiago", "Carla");$por_pagina = 1;if( $_GET['page'] ) $pagina = $_GET['page'];else $pagina = 1;$inicio = ($pagina - 1) * $por_pagina;$fim = $inicio + $por_pagina;for( $i = $inicio; $i < $fim; $i++ ) echo $nomes[$i] . "<br>";$prox = $pagina + 1;$ant = $pagina - 1;echo "<a href=\"?page={$ant}\">Anterior</a> - <a href=\"?page={$prox}\">Próximo</a>"?>só aparece «anterior próxima»só q eu queria deixar assim: anterior 01 | 02 | 03 próxima Quote Link to comment Share on other sites More sharing options...
0 Guilherme014 Posted January 25, 2005 Report Share Posted January 25, 2005 (edited) tem que colocar suas variaveis de conexao com o servidor e o banco de dados<?$re = mysql_query("SELECT count(*) as total FROM tabela") or die (mysql_error());$total = mysql_result($re, 0, "total");$pagina = 0;if(isset($_GET["pagina"])) {$pagina = $_GET["pagina"];}$limite = 1;$paginas = ceil($total / $limite);$inicio = $pagina * $limite; $sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $limite") or die (mysql_error()); $conta = mysql_num_rows($sql);while($l = mysql_fetch_array($sql)) {echo "O total de tabela do seu site é: $total.<br>";$pr_cod_produto = $l["pr_cod_produto"];agora aqui poe todos os dados da tabelas..}Isto é o que você querif($pagina > 0) { $menos = $pagina - 1; $url = $_SERVER["PHP_SELF]."?pagina=".$menos; echo "<a href=\"$url\">Anterior</a>"; }for($i = 1;$i < $paginas; $i++) { $url = $_SERVER["PHP_SELF"]."?pagina=.$i; echo " | <a href=\"$url\">$i</a>"; }if($pagina < $paginas) { $mais = $pagina + 1; $url = $_SERVER["PHP_SELF]."?pagina=".$mais; echo " | <a href=\"$url\">Próxima</a>";}?>codigos HTL, buscando os dados, como por exemplo...<form action='' method='post' name='visualizar_produtos'><table width='751' border='0' cellspacing='0' cellpadding='0'><tr><td width='197' class="small"><b><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Código do Produto:</font></b></td><td width='554' class="StoryTitle"><? print("$pr_cod_produto"); ?></td></table></form><?Isto é o que você querif($pagina > 0) { $menos = $pagina - 1; $url = $_SERVER["PHP_SELF"]."?pagina=.$menos; echo "<a href=\"$url\">Anterior</a>"; }for($i = 1;$i < $paginas; $i++) { $url = $_SERVER["PHP_SELF]."?pagina=".$i; echo " | <a href=\"$url\">$i</a>"; }if($pagina < $paginas) { $mais = $pagina + 1; $url = $_SERVER["PHP_SELF"]."?pagina=".$mais; echo " | <a href=\"$url\">Próxima</a>";}?>agora e com vc.....não sei se vai te ajudar, mas tenteivaleu guilherme Edited January 25, 2005 by Guilherme014 Quote Link to comment Share on other sites More sharing options...
0 Guest Lukas Posted January 25, 2005 Report Share Posted January 25, 2005 eu queria um sem banco de dados Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted January 25, 2005 Report Share Posted January 25, 2005 Da pra melhorar ele só não tive tempo ,mas ta funcionando$nomes = array("João", "Maria", "José", "Carlos", "Eduarda", "Paula", "Joana", "Marcelo", "Thiago", "Carla");$por_pagina = 1;if( isset($_GET['page']) ) $pagina = $_GET['page'];else $pagina = 1;$inicio = ($pagina - 1) * $por_pagina;$fim = $inicio + $por_pagina;for( $i = $inicio; $i < $fim; $i++ ) echo $nomes[$i] . "<br>";$prox = $pagina + 1;$ant = $pagina - 1;echo "<a href=\"?page={$ant}\">Anterior</a> - ";$conta = count($nomes);$soma = 2;if($pagina >= $conta){$soma = 0;}for($pg = $pagina; $pg <= ($pagina+$soma);$pg++){echo "<a href=\"?page={$pg}\">$pg</a> ";}$final = $pagina + 3;if($pagina < $conta and $final <= $conta){echo " <a href=\"?page={$prox}\">Próximo</a>";} Quote Link to comment Share on other sites More sharing options...
0 Guest Lukas Posted January 25, 2005 Report Share Posted January 25, 2005 Aki está o código da paginacao:<?php global $PHP_SELF; // A partir do PHP 4.2.3 é necessário declarar a variável $PHP_SELF como global. @$pagina = $_REQUEST['pagina']; @$exibe = $_REQUEST['exibe']; // Usamos $_REQUEST para pegar os valores das variáveis página e exibe. // Um recurso que já existia mas que agora é obrigatório. // Usamos @ para se o valor for NULL, o PHP não dar aquela mensagem chata. if ($pagina == "") { $pagina = "1"; } if ($exibe == "") { $exibe = "1"; } // Verificando se as variavéis tão com valor NULL, EMPTY, como queiram chamar. // Aqui que você define quantas linhas você quer por página modificando a variável $exibe $arquivo_linhas = file("texto.txt"); // Aqui a $arquivo_linhas é uma array que começa a partir do 0 (zero) e vai ate a última // linha. // Cada valor da array tem o conteúdo de sua respectiva linha. // Escolha o seu arquivo o meu é texto.txt como acima. $conta_linhas = count($arquivo_linhas); // Count serve para contar quantas CHAVES tem dentro de uma ARRAY. // Por exemplo, array[3] é a ultima então ele vai contar 0,1,2,3 e na variável resultar 4, // muito útil esse comando. $total_paginas = ceil(($conta_linhas/$exibe)); // Ceil serve para arredondar um número pra cima então dividimos o total de linhas pelo // quanto de linhas vamos exibir, arredondamos para cima e obtemos o número de páginas. // Por exemplo, 5 divido por 2 vai dar 2.5 que signifaca que temos 3 páginas sendo a // última com 1 registro. echo "<center> Arquivo tem ".$conta_linhas." linhas <br>"; echo "Página ".$pagina." de ".$total_paginas."</center><br>"; // Usamos das informações calculadas para passar informações em texto para o leitor. $linha_chegar = (($pagina-1)*$exibe); // Essa é uma variável que determina por que linha devemos começar a exibir ao leitor, // porque se ele estiver na página 3 vai querer que comece pela linha onde parou e não // pela primeira. for ($linha = 0; $linha != $linha_chegar; $linha++) { list ($num_linha, $conteudo_linha) = each ($arquivo_linhas); } // For basico para posicionar na linha com conteúdo certo a começar. // Vou explicar: Loop de $linha igual 0 enquanto $linha for diferente da $linha_chegar // vai somando um a cada loop // Ai vem o comando que faz grande parte de tudo. // List faz com que as variáveis $num_linha receba a CHAVE (KEY) da ARRAY e que a // $conteudo_linha receba seu VALOR (VALUE) // Esse EACH faz com que pegue separado cada valor da array. $ultima_linha = ($linha_chegar + $exibe); if ($ultima_linha > $conta_linhas) { $ultima_linha = $conta_linhas; } // Aqui a gente mostra de qual linha a qual linha o leitor está lendo. (meio redundante) // A variável $ultima_linha recebe o valor de onde o posicionador parou mais o quanto // exibe por página. // Se ela for maior que o número de linhas do arquivo quer dizer que tá no fim dele, // entaum ela recebe o valor do total de linhas. $parar = "não"; while ($parar == "não") { list ($numlinha, $conteudolinha) = each ($arquivo_linhas); echo $conteudolinha."<br>"; if (($numlinha + 1) == $ultima_linha) { $parar = "sim"; } } // Loop principal ele é o sistema da exibição. // Enquanto parar for igual a não continuar o loop usando o LIST que já expliquei e o EACH // agora com ECHO para imprimir o conteúdo da linha na página. // Agora dá pra entender como o LIST funciona não é? // Se a CHAVE da array mais um (1) for igual ao valor da ultima linha, parar ganha o valor // de sim e o loop acaba. echo "<BR>"; $navegacao = 1; while ($navegacao <= $total_paginas) { if ($navegacao != $pagina) { echo ' <font face=verdana size=1><a href="'.$PHP_SELF.'?pagina='.$navegacao.'">'.$navegacao.'</a></font> '; } else { echo '<font face=verdana size=1><b> '.$navegacao.'</b></font> '; } $navegacao++; } ?> eu queria , cadastrar as paginas no arquivo texto e exibi-lasTipow, no arquivo texto eu tenho as paginas cadastradas, ex:1.php 2.phpdaí quando a pessoa clicasse no link 2 iria pra pagina 2.php, q está cadastrada no arquivo texto Quote Link to comment Share on other sites More sharing options...
0 Guest Lukas Posted January 25, 2005 Report Share Posted January 25, 2005 Tipow , eu tenho este codigo aki:<?php$nomes = array("João", "Maria", "José", "Carlos", "Eduarda", "Paula", "Joana", "Marcelo", "Thiago", "Carla");$por_pagina = 1;if( $_GET['page'] ) $pagina = $_GET['page'];else $pagina = 1;$inicio = ($pagina - 1) * $por_pagina;$fim = $inicio + $por_pagina;for( $i = $inicio; $i < $fim; $i++ ) echo $nomes[$i] . "<br>";$prox = $pagina + 1;$ant = $pagina - 1;echo "<a href=\"?page={$ant}\">Anterior</a> - <a href=\"?page={$prox}\">Próximo</a>"?>só aparece «anterior próxima»só q eu queria deixar assim: anterior 01 | 02 | 03 próxima Por favor, alguém me ajude! Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted January 25, 2005 Report Share Posted January 25, 2005 não entendi o que você quer fazer, sobre a duvida do 1 script eu postei um exemplo pra você ver do jeito que você pediu, agora você tem esse 2 script e o que você quer fazer? Quote Link to comment Share on other sites More sharing options...
0 »»Luk@S«« Posted January 25, 2005 Report Share Posted January 25, 2005 Olha , eu vou tentar te explicar:vamos levar em consideracao, este script: <?php global $PHP_SELF; // A partir do PHP 4.2.3 é necessário declarar a variável $PHP_SELF como global. @$pagina = $_REQUEST['pagina']; @$exibe = $_REQUEST['exibe']; // Usamos $_REQUEST para pegar os valores das variáveis página e exibe. // Um recurso que já existia mas que agora é obrigatório. // Usamos @ para se o valor for NULL, o PHP não dar aquela mensagem chata. if ($pagina == "") { $pagina = "1"; } if ($exibe == "") { $exibe = "1"; } // Verificando se as variavéis tão com valor NULL, EMPTY, como queiram chamar. // Aqui que você define quantas linhas você quer por página modificando a variável $exibe $arquivo_linhas = file("texto.txt"); // Aqui a $arquivo_linhas é uma array que começa a partir do 0 (zero) e vai ate a última // linha. // Cada valor da array tem o conteúdo de sua respectiva linha. // Escolha o seu arquivo o meu é texto.txt como acima. $conta_linhas = count($arquivo_linhas); // Count serve para contar quantas CHAVES tem dentro de uma ARRAY. // Por exemplo, array[3] é a ultima então ele vai contar 0,1,2,3 e na variável resultar 4, // muito útil esse comando. $total_paginas = ceil(($conta_linhas/$exibe)); // Ceil serve para arredondar um número pra cima então dividimos o total de linhas pelo // quanto de linhas vamos exibir, arredondamos para cima e obtemos o número de páginas. // Por exemplo, 5 divido por 2 vai dar 2.5 que signifaca que temos 3 páginas sendo a // última com 1 registro. echo "<center> Arquivo tem ".$conta_linhas." linhas <br>"; echo "Página ".$pagina." de ".$total_paginas."</center><br>"; // Usamos das informações calculadas para passar informações em texto para o leitor. $linha_chegar = (($pagina-1)*$exibe); // Essa é uma variável que determina por que linha devemos começar a exibir ao leitor, // porque se ele estiver na página 3 vai querer que comece pela linha onde parou e não // pela primeira. for ($linha = 0; $linha != $linha_chegar; $linha++) { list ($num_linha, $conteudo_linha) = each ($arquivo_linhas); } // For basico para posicionar na linha com conteúdo certo a começar. // Vou explicar: Loop de $linha igual 0 enquanto $linha for diferente da $linha_chegar // vai somando um a cada loop // Ai vem o comando que faz grande parte de tudo. // List faz com que as variáveis $num_linha receba a CHAVE (KEY) da ARRAY e que a // $conteudo_linha receba seu VALOR (VALUE) // Esse EACH faz com que pegue separado cada valor da array. $ultima_linha = ($linha_chegar + $exibe); if ($ultima_linha > $conta_linhas) { $ultima_linha = $conta_linhas; } // Aqui a gente mostra de qual linha a qual linha o leitor está lendo. (meio redundante) // A variável $ultima_linha recebe o valor de onde o posicionador parou mais o quanto // exibe por página. // Se ela for maior que o número de linhas do arquivo quer dizer que tá no fim dele, // entaum ela recebe o valor do total de linhas. $parar = "não"; while ($parar == "não") { list ($numlinha, $conteudolinha) = each ($arquivo_linhas); echo $conteudolinha."<br>"; if (($numlinha + 1) == $ultima_linha) { $parar = "sim"; } } // Loop principal ele é o sistema da exibição. // Enquanto parar for igual a não continuar o loop usando o LIST que já expliquei e o EACH // agora com ECHO para imprimir o conteúdo da linha na página. // Agora dá pra entender como o LIST funciona não é? // Se a CHAVE da array mais um (1) for igual ao valor da ultima linha, parar ganha o valor // de sim e o loop acaba. echo "<BR>"; $navegacao = 1; while ($navegacao <= $total_paginas) { if ($navegacao != $pagina) { echo ' <font face=verdana size=1><a href="'.$PHP_SELF.'?pagina='.$navegacao.'">'.$navegacao.'</a></font> '; } else { echo '<font face=verdana size=1><b>['.$navegacao.']</b></font> '; } $navegacao++; } ?> daí, no arquivo texto.txt estaria cadastradas as seguintes paginas:1.php2.php3.php4.phpdaí nos links 1 | 2 | 3 | 4 .......quando a pessoa clicasse no link, eu queria q não aparece em formato texto, e sim em formato de pagina mesmo, entendeu? Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted January 25, 2005 Report Share Posted January 25, 2005 pra isso então você tem que pegar o conteudo do arquivo e listar ele como link normale aqui no link <a href="nome_da_pagina_do txt">$navegacao</a> Quote Link to comment Share on other sites More sharing options...
0 »»Luk@S«« Posted January 25, 2005 Report Share Posted January 25, 2005 não entendi Quote Link to comment Share on other sites More sharing options...
0 »»Luk@S«« Posted January 25, 2005 Report Share Posted January 25, 2005 não consigo entender Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted January 25, 2005 Report Share Posted January 25, 2005 Vamos supor que o texto.txt tenha:pagina.htmlpagina2.htmlpagina3.htmlpaginacao.php:<?phpglobal $PHP_SELF;// A partir do PHP 4.2.3 é necessário declarar a variável $PHP_SELF como global.@$pagina = $_REQUEST['pagina'];@$exibe = $_REQUEST['exibe'];// Usamos $_REQUEST para pegar os valores das variáveis página e exibe.// Um recurso que já existia mas que agora é obrigatório.// Usamos @ para se o valor for NULL, o PHP não dar aquela mensagem chata.if ($pagina == "") { $pagina = "1";}if ($exibe == "") { $exibe = "1";}// Verificando se as variavéis tão com valor NULL, EMPTY, como queiram chamar.// Aqui que você define quantas linhas você quer por página modificando a variável $exibe$arquivo_linhas = file("texto.txt");// Aqui a $arquivo_linhas é uma array que começa a partir do 0 (zero) e vai ate a última // linha.// Cada valor da array tem o conteúdo de sua respectiva linha.// Escolha o seu arquivo o meu é texto.txt como acima.$conta_linhas = count($arquivo_linhas);// Count serve para contar quantas CHAVES tem dentro de uma ARRAY.// Por exemplo, array[3] é a ultima então ele vai contar 0,1,2,3 e na variável resultar 4, // muito útil esse comando.$total_paginas = ceil(($conta_linhas/$exibe));// Ceil serve para arredondar um número pra cima então dividimos o total de linhas pelo// quanto de linhas vamos exibir, arredondamos para cima e obtemos o número de páginas.// Por exemplo, 5 divido por 2 vai dar 2.5 que signifaca que temos 3 páginas sendo a// última com 1 registro.echo "<center> Arquivo tem ".$conta_linhas." linhas <br>";echo "Página ".$pagina." de ".$total_paginas."</center><br>";// Usamos das informações calculadas para passar informações em texto para o leitor.$linha_chegar = (($pagina-1)*$exibe);// Essa é uma variável que determina por que linha devemos começar a exibir ao leitor,// porque se ele estiver na página 3 vai querer que comece pela linha onde parou e não// pela primeira.for ($linha = 0; $linha != $linha_chegar; $linha++) { list ($num_linha, $conteudo_linha) = each ($arquivo_linhas);}// For basico para posicionar na linha com conteúdo certo a começar.// Vou explicar: Loop de $linha igual 0 enquanto $linha for diferente da $linha_chegar// vai somando um a cada loop// Ai vem o comando que faz grande parte de tudo.// List faz com que as variáveis $num_linha receba a CHAVE (KEY) da ARRAY e que a// $conteudo_linha receba seu VALOR (VALUE)// Esse EACH faz com que pegue separado cada valor da array. $ultima_linha = ($linha_chegar + $exibe);if ($ultima_linha > $conta_linhas) { $ultima_linha = $conta_linhas;}// Aqui a gente mostra de qual linha a qual linha o leitor está lendo. (meio redundante)// A variável $ultima_linha recebe o valor de onde o posicionador parou mais o quanto// exibe por página.// Se ela for maior que o número de linhas do arquivo quer dizer que tá no fim dele,// entaum ela recebe o valor do total de linhas.$parar = "não";while ($parar == "não") { list ($numlinha, $conteudolinha) = each ($arquivo_linhas); echo $conteudolinha."<br>"; if (($numlinha + 1) == $ultima_linha) { $parar = "sim"; }}// Loop principal ele é o sistema da exibição.// Enquanto parar for igual a não continuar o loop usando o LIST que já expliquei e o EACH// agora com ECHO para imprimir o conteúdo da linha na página.// Agora dá pra entender como o LIST funciona não é?// Se a CHAVE da array mais um (1) for igual ao valor da ultima linha, parar ganha o valor // de sim e o loop acaba.echo "<BR>";$nomedoarquivo = "texto.txt";$handle = fopen ($nomedoarquivo, "r");$conteudo = fread ($handle, filesize ($nomedoarquivo));$conteudo = trim($conteudo);$linhas = explode("\r\n",$conteudo);fclose ($handle);$navegacao = 1;$i=0;while ($navegacao <= $total_paginas) { if ($navegacao != $pagina) { echo "<font face=\"verdana\" size=\"1\"> <a href=\"$linhas[$i]\">Pagina $navegacao</a></font>" ; } else { echo "<font face=\"verdana\" size=\"1\"><b>Pagina $navegacao</b></font>"; } $navegacao++; $i++;}?> Quote Link to comment Share on other sites More sharing options...
Question
Guest Lukas
Tipow , eu tenho este codigo aki:
só aparece «anterior próxima»
só q eu queria deixar assim:
anterior 01 | 02 | 03 próxima
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.