Ir para conteúdo

POWERED BY:

Arquivado

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

caio wind

[Resolvido] problema com While

Recommended Posts

ente é o seguinte, to com esse problema:

 

<?php 
  $rodadas  = $linha['rodadas'];
  $partidas = $linha['partidas'];

  $inicio = 1;


$sql = "SELECT * from rodadas";
$query = mysql_query($sql);


  		while( $inicio <= $partidas ) { 

		$inicio++;

		if ($line == '#F4F4F4') { $line = '#FBFBFB'; } else { $line = '#F4F4F4'; }

			while ($dados = mysql_fetch_array($query) ) {

		 ?>		



            <tr>
       <td><input name="data" maxlength="5" size="5" title="dd/mm" type="text" id="data" /></td>
       <td><input name="hora" maxlength="5" size="5" title="hh:mm" type="text" id="hora" /></td>
       <td><input name="estadio" type="text" id="estadio" title="Estádio" value="<?php echo $dados['estadio']; ?>" size="20" maxlength="50" /></td>
       <td><select name="time1" size="1" id="time1">
       </select></td>
       <td><div align="center">
           <input name="resultado1" value="0" maxlength="2" size="1" type="text" id="resultado1" />
       </div></td>
       <td><label class="style10">
           <div align="center">x</div>
         </label></td>
       <td><div align="center">
           <input name="resultado2" value="0" maxlength="2" size="1" type="text" id="resultado2" />
       </div></td>
       <td><select name="time2" size="1" id="time2">
       </select></td>
       </tr>


     <?php } ?>

 

o que acontece que um while corta o outro, não como fazer um while dentro do outro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, dá para encaixar loops.

 

mas você precisa mesmo disso ?

explica com imagem ou html puro oq você quer no final

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah sim, eu coloquei mais uma chave no final , mas ele me retorna essa imagem:

 

 

Clique aqui

 

o que eu preciso, é que por exemplo, tem 10 rodadas, preciso que apareça 10 linhas de campos, nessa foto só aparece 8 por que apenas tem 8 items cadastrado no banco.

 

mesmo que apareçam em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara.. voltando:

você não precisa(e nem deve usar) os loops encaixados nesse teu caso

 

era só fazer assim:

$i = 1;
while ($dados = mysql_fetch_array($query) )
{
  $i++;
  //faz normal a apresentação dos campos
}
for( $j=$i; $j<=10; $j++ )//loop após o while
{
  //exibe o html aqui, qntas vezes forem necessárias.
}

assim se o while() só troxer uma linha, o for vai fazer as outras 9 pra você.. e assim por diante.

veja, que não encaixei os loops.

Compartilhar este post


Link para o post
Compartilhar em outros sites

.. e qual o problema ?

da forma que indiquei, é possivel fazer exatamente oque você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php 



		while ($dados = mysql_fetch_array($query) ) {

			echo $dados['estadio']; // eu preciso que isso va para o html, se sair desse laço nao vai :(

			}


		for( $j=$inicio; $j<=$partidas; $j++ ) {


		 ?>		



            <tr>
       <td><input name="data" maxlength="5" size="5" title="dd/mm" type="text" id="data" /></td>
       <td><input name="hora" maxlength="5" size="5" title="hh:mm" type="text" id="hora" /></td>
       <td><input name="estadio" type="text" id="estadio" title="Estádio" value="<?php echo $dados['estadio']; ?>" size="20" maxlength="50" /></td>
       <td><select name="time1" size="1" id="time1">
       </select></td>
       <td><div align="center">
           <input name="resultado1" value="0" maxlength="2" size="1" type="text" id="resultado1" />
       </div></td>
       <td><label class="style10">
           <div align="center">x</div>
         </label></td>
       <td><div align="center">
           <input name="resultado2" value="0" maxlength="2" size="1" type="text" id="resultado2" />
       </div></td>
       <td><select name="time2" size="1" id="time2">
       </select></td>
       </tr>


     <?php }

   ?>

 

seria assim ? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

quase isso, só que você precisa 'replicar' o html nos 2 loops

 

while(){
 //html aqui
}
for(){
 //o mesmo html aqui, mas sem as verificações do banco de dados
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caio entenda, é muito simples... o que o William quer dizer é o seguinte:

 

o primeiro WHILE vai exibir o HTML com os dados vindo do banco de dados... no caso, você só tem 8 certo ?

 

o FOR, (segundo loop) irá exibir os outros 2 campos que faltam em branco, para completar os 10 que você quer...

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.