Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jackson Junior

[Resolvido] Sequência numérica em Tabela

Recommended Posts

Ola a todos.

 

Preciso colocar uma sequencia numérica em uma tabela HTML, mas ela sendo gerada em PHP.

 

Será uma tabela de 10 colunas e 1000 linhas.

 

ficando da seguinte forma:

 

0001 0002 0003 0004 0005 0006 0007 0008 0009 0010

0011 0012 0013 0014 0015 0016 0017 0018 0019 0020

0021 0022 0023 0024 0025 0026 0027 0028 0029 0030

...

 

Agradeco a ajuda.

 

Visual 10 do forum! (y)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um for dentro de um for.

O primeiro for vai de 0 até 1000.

O segundo for vai de 0 até 10.

No primeiro for você da echo nas <tr> e no segundo for você da echo no <td>.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa fazer um for dentro de um for... Seria algo assim...

 

<?php
for($x = 1; $x < 1000; $x++)
{
    if($x % 10 == 0) echo '<br/>';
    printf("%04d",$x);
}

Só adaptar o HTML gerado.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda assim, não dá.

 

Eu axo que não tem como, pois terah q ter um for pros numeros de 1 a 9999, um for ou um while de 1 1000 pras tags <tr> e outra de 1 a 10 pras tags <td>;

 

Nao consigo me concentrar nessa solucao.... :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa de mais do que um laço. Não mesmo... Monta manual o html até o 20 e posta aqui. Vou te mostrar como dá pra fazer utilizando só um loop e alguns condicionais.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente minha mente tah travada... nao consigo ve a solucao.

Vi o codigo q você mandou, respondi sem antes testar.. :S

Segue a tabela

<table width="514" cellspacing="2">
	<tr>
		<td width="50" height="30">0001</td>;
		<td width="50" height="30">0002</td>;
		<td width="50" height="30">0003</td>;
		<td width="50" height="30">0004</td>;
		<td width="50" height="30">0005</td>;
		<td width="50" height="30">0006</td>;
		<td width="50" height="30">0007</td>;
		<td width="50" height="30">0008</td>;
		<td width="50" height="30">0009</td>;
		<td width="50" height="30">0010</td>;
	</tr>
    	<tr>
		<td width="50" height="30">0011</td>;
		<td width="50" height="30">0012</td>;
		<td width="50" height="30">0013</td>;
		<td width="50" height="30">0014</td>;
		<td width="50" height="30">0015</td>;
		<td width="50" height="30">0016</td>;
		<td width="50" height="30">0017</td>;
		<td width="50" height="30">0018</td>;
		<td width="50" height="30">0019</td>;
		<td width="50" height="30">0020</td>;
	</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos isto.

 

<?php
echo '<table width="514" cellspacing="2">
        <tr>',PHP_EOL;
for($x = 0; $x <= 1000; $x++)
{
    if($x % 10 == 0) echo "\t</tr>",PHP_EOL,"\t<tr>",PHP_EOL;
    echo "\t\t<td width=\"50\" height=\"30\">";
    printf("%04d",$x);
    echo '</td>',PHP_EOL;
}
echo "\t</tr>
</table>";

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhorei um pouco o código

 

<?php
// aqui iniciamos a tabela
echo '<table width="514" cellspacing="2">
       <tr>',PHP_EOL;
// aqui iniciamos o laço
for($x = 0; $x < 1000; $x++)
{
   // aqui verificamos. Se $x for múltiplo de 10, fecha o tr e abre outro
   if($x % 10 == 0 && $x != 0) echo "\t</tr>",PHP_EOL,"\t<tr>",PHP_EOL;
   // aqui imprime o valor de $x formatado, com 4 casas, completado com 0
   printf("\t\t<td width=\"50\" height=\"30\">%04d</td>".PHP_EOL , $x );
}
// aqui finalizamos a tabela
echo "\t</tr>",PHP_EOL,"</table>";

 

PHP_EOL significa End Of Line. É a quebra de linha do código fonte, independente do sistema operacional (\r\n para Windows e \n Unix).

http://br.php.net/manual/pt_BR/reserved.constants.php

http://br.php.net/printf

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.