Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou pegando e exibindo dados de um arquivo texto, porém preciso paginar os resultados, consegui paginar como se fosse AVANÇAR, queria fazer ele voltar também, alguma ideia? tutorial? estou perdido nisso.
if(paginacao%2==0) usei dessa forma para paginar para frente, só nao sei voltar, alguem?
obrigado desde já
Zombie
Então, fiz dessa forma,
pego os dados do arquivo texto com while e dentro do while depois
fprintf....
if(paginacao%2==0){
system("pause");
}
paginacao++;
exemplo, tenho dois resultados no arquivo texto, dai ele mostra 1 e quando dou enter ele mostra o segundo, só que se der enter ele continua mostrando o segundo, só que nao sei como faço pra ele nao mostrar mais resultados e ter a opção de voltar também, andei pesquisando e pensei em fazer um ponteiro e tentar algo com o switch, P para proximo e V para voltar, mas nao consegui também. vou pegar o codgio que fiz até agora e postar aqui.
vou estudar um pouco o link que você me passou, vlwwwwwww mesmo pelo help!
abs
alguem tem alguma sugestão de como paginar o resultado vindo do arquivo texto? obrigado desde já
Você tem que guardar a quantidade de linhas do arquivo e, em cada página, ler um determinado número de linhas.
por exemplo:
total_linhas = 100;
linhas_por_pagina = 7;
total_paginas = ceil( total_linhas / linhas_por_pagina );
para ler as linhas de cada página, use o número da página atual multiplicado por linhas_por_pagina. Por exemplo, página 1: linhas 1 a 7. Página 2, linhas 8 a 14 e assim por diante.
Pessoal, cheguei na forma abaixo, agora como que faço pra voltar a paginação, e será que ta tudo certo isso mesmo? alguem me ajuda por favor.
FILE *arq;
char Linha[100];
char *result;
int i, total_linhas=1, linhas_por_pagina=0, pagina=0;
arq = fopen("texto.txt", "r");
i = 0;
while (!feof(arq)){
result = fgets(Linha, 100, arq);
if(result){ // Se foi possível ler
printf(" Linha %d : %s", i, Linha);
i++;
}
if(i%2==0){
getchar();
pagina++;
printf("pagina: %d\n\n", pagina);
}
}
printf("\n\n Total de linhas: %d\n", i);
linhas_por_pagina = i/2;
printf(" Linhas por paginas: %d", linhas_por_pagina);
fclose(arq);
Olá meu amigo,
Para avançar você acrescenta +1 e para voltar decrementar -1.
Esse artigo pode lhe ajudar - http://webvisualedinamica.com/video-aula-php-e-mysql-paginacao-de-dados-mysql-com-php/
Espero que ajude, abraço.