Ir para conteúdo

POWERED BY:

Arquivado

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

Kakaroto1309

[Resolvido] Tabela

Recommended Posts

Bom Dia Pessoal

 

Preciso criar uma tabela dinâmica com 4 linhas e 5 colunas.

Em cada "escaninho" formado pela tabela precisarei carregar dados do BD.

 

Exemplo:

arra.jpg

 

Reparem a tabela:

Cada buraquinho colocará dados referente a uma ID. Usarei o LIMIT de 0 a 20 nesse caso.

Eu sei que vai ter que colocar um for dentro do while, mais não sei como.

 

Alguem manja?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao precisa de 2 loops.

 

pensa em como vai ser o html disso.

depois você faz o php.

 

<table> mesmo ?

veja sobre o operador % (resto da divisao)

 

se for com <ul>, <li>.. basta flutuar cada li, e deixar uma largura fixa pro ul

que qndo não couber mais, vai quebrar automaticamente indo pra linha de baixo.

 

mas fica a dica:

faça o html na mão, e depois faça o php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então faz o HTML disso ai com tabela e poste aqui.

 

fazer o php gerar este html depois, é fácil, se você souber qual html terá que fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela seria essa:

 

<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr align="center"> 
   <td>1</td>
   <td>2</td>
   <td>3</td>
   <td>4</td>
   <td>5</td>
 </tr>
 <tr align="center"> 
   <td>6</td>
   <td>7</td>
   <td>8</td>
   <td>9</td>
   <td>10</td>
 </tr>
 <tr align="center"> 
   <td>11</td>
   <td>12</td>
   <td>13</td>
   <td>14</td>
   <td>15</td>
 </tr>
 <tr align="center"> 
   <td>16</td>
   <td>17</td>
   <td>18</td>
   <td>19</td>
   <td>20</td>
 </tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto... qual a dúvida agora?

 

coloca o

 

<td> N </td> dentro do loop.

 

use um contador

 

e o operador % para testar se esse contador chegou a algum numero divisivel por 5, se chegar, você coloca um </tr><tr> (ou seja, outra linha)

lembrando de deixar o:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr align="center"> 

antes do loop, e o:

  </tr>
</table>

depois do loop.

 

 

comece a fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

passei todos os passos no meu post acima, e o se esse contador chegou a algum numero divisivel por 5, tá explicitando que você terá que usar um IF dentro do loop.

 

tente fazer, se não, você nunca irá aprender.

leia e releia o 'algoritmo' que postei, e vá fazendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos assim:

 

while($x = mysql_fetch_array($selecionar))
{
$contador = 0;
if($contador < 6)
	{
	echo "<td width='20%'>1</td>";
	$contador == $contador + 1
	}
	else
	{
	echo "</tr>";
       echo "<tr align='center' valign='middle'>";
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, ainda não..

 

leia novamente o meu post.

 

pesquise sobre o operador %

http://php.net/manual/pt_BR/language.operators.arithmetic.php

 

isso aqui

$contador == $contador + 1

não faz sentido, e ainda tem dois erros de sintaxe.

apague tudo e faça novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha fiz no papel

 

while($x = mysql_fetch_array($selecionar))
{
$contador = 0;
$linha = 0;
if($contador != 0)
	{
	echo "<td width='20%'>".x['evento']."</td>";
	$linha == $linha + 1;
	$contador == $linha%5;
	}
	else
	{
	echo "</tr>";
       echo "<tr align='center' valign='middle'>";
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se você zerar o contador sempre que entrar no loop, o teu contador nunca vai sair do zero ne?!

 

inicialize a variavel antes do while()

 

 

 

exemplo:

	$i = 0;
echo '<table><tbody><tr>';
while( $i<20 )
{
	if( $i%5==0 && $i!=0 ) echo '</tr><tr>';
	echo '<td>'.($i+1).'</td>';

	$i++;
}
echo '</tr></tbody></table>';

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que passei, é um exemplo simples que resolve de forma correta o problema.

 

        $i = 0;
       echo '<table><tbody><tr>';
       while( $x = mysql_fetch_assoc($selecionar) )
       {
               if( $i%5==0 && $i!=0 ) echo '</tr><tr>';
               echo '<td>'.$x['evento'].'</td>';

               $i++;
       }
       echo '</tr></tbody></table>';

 

pelo menos no script q você postou

while($x = mysql_fetch_array($selecionar))
       {
       $contador = 0;//iniciando dentro do loop

o contador está sendi inicializado dentro do loop.

testou o teu script ? não funciona ne?! ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já Tirei ...

 

$contador = 0;
$linha = 0;

while($x = mysql_fetch_array($selecionar))
{
if($contador != 0)
	{
	echo '<td width="20%">'.x["evento"].'</td>'; - LINHA 50 É ESSA
	$linha == $linha + 1;
	$contador == $linha%5;
	}
	else
	{
	echo "</tr>";
       echo "<tr align='center' valign='middle'>";
    }
}

 

Poré ta danu o erro ...

 

Parse error: syntax error, unexpected '[', expecting ',' or ';' in /home/meusite/public_html/teste.php on line 50

Compartilhar este post


Link para o post
Compartilhar em outros sites

>'.x["evento"]

faltou um $ indicando que x é uma variavel php

 

ainda assim, pq os 2 == ? (sinal de igualdade) ?

$linha == $linha + 1;

não entendi

 

roda o meu script em #14

Compartilhar este post


Link para o post
Compartilhar em outros sites

no teu script

 

-> você não fez o incremento do contador

-> a variavel $linha é desnecessária

 

 

rodou o meu ? talvez você compreenda mais rápido, se ver um correto em execução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendeu oque eu fiz?

 

agora apaga o meu, e refaz.

Ai você irá aprender.

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.