Contagem de dados imprimindo separadamente

Iniciado por rafael, Março 01, 2017, 11:01:09 AM

tópico anterior - próximo tópico

rafael

Bom dia a todos,

Quero saber como fazer uma contagem de dados para imprimir separadamente, exemplo:

contador = 1
enquanto 1 inicio
pegue os dados de uma tabela
contador = contador +1
fim

se contador < 50
para 1, contador, 1 inicio
imprima 50 dados da tabela
fim

se contador > 50 e <100
para 50, contador, 1 inicio
imprima mais 50 dados da tabela
fim

O intuito é mostrar apenas 50 itens por página em uma tabela html
e caso tenha mais de 50 mostrar um botão pra próxima página e assim por diante.

adalberto

Bom dia, não sei se entendi bem sua pergunta.

Veja esse código:



funcao obt_itens_por_pagina(tab,num_itens)
  local contador = 1;
  local pagina = {}
  local num_pagina = 1;
  pagina[num_pagina]={};//cada indice dessa tabela terá mais N itens.

  para i, v em ipares(tab) inicio
    se contador > num_itens entao     
      num_pagina = num_pagina + 1;
      pagina[num_pagina] = {};
      contador = 1;
    fim 
    pagina[num_pagina][contador] = v; 
    contador = contador + 1;
  fim
  retorne pagina;
fim

//================== teste:

t = {}; //criando tabela vazia
para i=1,500 inicio //enchendo a tabela com 500 itens
  t[i] = 'item_' .. i;
fim


local pags = obt_itens_por_pagina(t, 50);//testando a função com 50 itens por pagina

//imprimindo os resultados de cada serie de 50 itens
para i=1, #pags inicio
  para j = 1 , #pags[i] inicio
    imprima(pags[i][j]);
  fim
  imprima('Página: ' .. i);
  poe'Enter para continuar mais 50 resultados';
  leia();
fim





rafael