+2

Paginação de um arquivo em Texto

criado por Danilo Faustinoni Cabello em 13/05/2004 10:26am
<?php
global $PHP_SELF;

@$pagina = $_REQUEST['pagina'];
@$exibe = $_REQUEST['exibe'];

if ($pagina == "") {
    $pagina = "1"; 
}

if ($exibe == "") {
    $exibe = "15"; 
}

$arquivo_linhas = file("texto.txt");
$conta_linhas = count($arquivo_linhas);
$total_paginas = ceil(($conta_linhas/$exibe));

echo "<center> Arquivo tem ".$conta_linhas." linhas <br>";
echo "Página ".$pagina." de ".$total_paginas."</center><br>";

$linha_chegar = (($pagina-1)*$exibe);

for ($linha = 0; $linha != $linha_chegar; $linha++) {
    list ($num_linha, $conteudo_linha) = each ($arquivo_linhas); 
}
	
$ultima_linha = ($linha_chegar + $exibe);
if ($ultima_linha > $conta_linhas) {
    $ultima_linha = $conta_linhas; 
}

echo "<center>Mostrando linhas de ".($linha_chegar+1)." a ".$ultima_linha."</center><br>";

$parar = "não";
while ($parar == "não") {
    list ($numlinha, $conteudolinha) = each ($arquivo_linhas);
    echo $conteudolinha."<br>";
	
    if (($numlinha + 1) == $ultima_linha) {
        $parar = "sim"; 
    }
}
echo "<BR>";

$navegacao = 1;

while ($navegacao <= $total_paginas) {
    if ($navegacao != $pagina) {
        echo ' <a href="'.$PHP_SELF.'?pagina='.$navegacao.'">'.$navegacao.'</a> '; 
    } else { 
        echo ' '.$navegacao.' '; 
    }
    $navegacao++;
}
?>

Deixem seus comentários, críticas, sugestões.
Agradeço a visita de vocês ao meu artigo.

Comentários:

Mostrando 1 - 10 de 12 comentários
edyd junges disse:
valeu
esse script me quebrou um super galho aki
que era de mostrar um arquivo de notícias do FusionNews (que eh flatfile) por páginas
05/04/2006 8:47pm (~16 anos atrás)

Pedro Mineiro disse:
Viva!
O artigo esta bem feito e bem documentado. Acho que mais vale documentar no proprio codigo, é muito mais facil de ler.
Agora esta um problema basico no artigo. Os ficheiros txt podem conter o texto todo seguido sem endl... para esses ficheiros este artigo nao funciona :(
alguma forma de contornar isto?
08/12/2005 9:02pm (~16 anos atrás)

rui paiva disse:
tens o artigo "Paginação de Resultados" que te pode ajudar no que necessitas.
10/06/2004 6:20am (~17 anos atrás)

Reginaldo disse:
Eu tenho umcliente que é uma revista, e algumas materias dos caras são enormes e fica uma tripa gigante.

Ele me pediu para fazer uma paginação das materias, mas as materias são dinamicas via gerenciador php/mysql.

Alguem teria uma dica para me ajudar?
01/06/2004 1:35pm (~17 anos atrás)

poiseh.. no começo é sempre assim! kem nunk trabalhou com um arquivo txt antes de passar para um mysql, postgree etc..
todo mundo passa por essa vidinha.. eh como crescer no php.. faz parte! =)
bom eh isso!

[]`z
22/05/2004 3:31pm (~17 anos atrás)

EquipeXQ disse:
Olha. Como o objetivo aqui é sempre a didática...eu acho que cada artigo, tutorial etc..tem que ser como é colocado, obviamente que haverá milhares de opções, sofisticações e aprofundamento, ocorre que o iniciante que está aprendendo necessita o mais básico possivel. Se o Artigo é para programador avançado, terá um conteúdo avançado, caso contrário creio que deve ser como é, mesmo porquê há momentos em que você necessita exatamente o que está ali, por mais simples ou complexo que seja.
Não é verdade?...abraço a todos.
20/05/2004 1:07pm (~17 anos atrás)

opa pessoal o artigo está bem simples mesmo, eu mandei ele no começo de 2003 por isso ele usava txt, não tinha muita coisa ali nem aqui, depois de 3 meses desisti de ver meu artigo, bom desculpa ai quem achou muita complicação pra fazer algo simples e com um txt mas eu tava no começo e talz queria ajudar a comunidade, espero que esteja pelo menos funcional

valew, []'s
19/05/2004 4:20pm (~17 anos atrás)

já que é arquivo texto, não seria melhor armazenar o conteúdo em um arquivo XML? Com certeza, seria bem mais fácil especificar quantas páginas e quais conteúdos você quer pegar delas usando um XML do que apenas um TXT puro.

--
Espero ter ajudado,
Turbano
19/05/2004 7:52am (~17 anos atrás)

Legal o artigo. Só vejo dois problemas. O primeiro é usar um .txt (ta bom que é pra texto, mas esquecam .txt e .inc). O segundo é o problema de quebrar paragráfos no meio. Acho que você deveria dividir quando der uma linha em branco, talvez como uma melhora no programa. Uma divisão inteligente, mas que nao deixe que em fique apenas um paragráfo, mas sim o máximo de parágrafos, sem que ultrapasse $exibe e sem que corte algum ao meio.

[]´s

llbra
14/05/2004 10:10pm (~17 anos atrás)

gostei muito do seu artigo, além do que é muito util =)
14/05/2004 2:42pm (~17 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)