caio wind 0 Denunciar post Postado Fevereiro 3, 2011 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
William Bruno 1501 Denunciar post Postado Fevereiro 3, 2011 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
Alaerte Gabriel 662 Denunciar post Postado Fevereiro 3, 2011 Pode, sem problema nenhum, porém, você se esqueceu de fechar uma chave " } " no final do código. Compartilhar este post Link para o post Compartilhar em outros sites
caio wind 0 Denunciar post Postado Fevereiro 3, 2011 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
William Bruno 1501 Denunciar post Postado Fevereiro 3, 2011 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
Alaerte Gabriel 662 Denunciar post Postado Fevereiro 3, 2011 Utilize a dica do Bruno... ia dizer o mesmo... porém, você não havia explicado o que queria... Compartilhar este post Link para o post Compartilhar em outros sites
caio wind 0 Denunciar post Postado Fevereiro 3, 2011 Então ai é que ta , eu preciso trazer os dados de mysql_fetch_array($query) dentro do html :( Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 3, 2011 .. 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
caio wind 0 Denunciar post Postado Fevereiro 3, 2011 <?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
William Bruno 1501 Denunciar post Postado Fevereiro 3, 2011 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
Alaerte Gabriel 662 Denunciar post Postado Fevereiro 3, 2011 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
caio wind 0 Denunciar post Postado Fevereiro 3, 2011 ah beleza, funcionou aqui valeuuu :) Compartilhar este post Link para o post Compartilhar em outros sites