Fórum Problema ao usar dois for #547263
01/03/2016
0
for($y = 1; $y < $n_temporadas+1; $y++){
for($i = 1; $i < $n_episodios+1; $i++){
if($audio == dublado){
$episodios_none_array[$i] = "document.getElementById('div_ep$y$i').style.display=\"none\";
document.getElementById('div_ep_op$y$i').style.display=\"none\";
";
$episodios_block_array[$i] = "case 'mostrar_ep$y$i':
document.getElementById('div_ep$y$i').style.display=\"block\";
break
case 'mostrar_ep_op$y$i':
document.getElementById('div_ep_op$y$i').style.display=\"block\";
break
";
$ep_dub = $_POST['iframe_ep'.$y.$i]; //valores recebido de formulários
$ep_dub_op = $_POST['iframe_ep_op'.$y.$i]; //valores recebido de formulários
$conteudo_episodios_array[$i] = "<button type=\"button\" onclick=\"mostrar_abas(this);\" id=\"mostrar_ep$y$i\" >Episodio $i</button> - <button type=\"button\" onclick=\"mostrar_abas(this);\" id=\"mostrar_ep_op$y$i\" >Opção 2</button><br>
";
$div_episodios_array[$i] = "<div id=\"div_ep$y$i\" style=\"display:none;\">$ep_dub</div>
<div id=\"div_ep_op$y$i\" style=\"display:none;\">$ep_dub_op</div>
";
}else if($audio == dub_leg){
//ainda nada
}
}
}
//transformar os array em string
$episodios_none = implode(" ", $episodios_none_array);
$episodios_block = implode(" ", $episodios_block_array);
$conteudo_episodios = implode(" ", $conteudo_episodios_array);
$div_episodios = implode(" ", $div_episodios_array);
Diogo
Curtir tópico
+ 0Post mais votado
01/03/2016
Vamos ver até quando vai essa "brincadeira" dele!
O PHP suporta sim loops FOR dentro FOR.
William
Gostei + 1
Mais Posts
01/03/2016
Diogo
Testei com While para o n_temporadas e não deu certo, ainda são criados apenas 6. O certo seria ser criados 30 linhas, 15 "div_ep" e 15 "div_ep_op"(tipo isso: 11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42, 43, 51, 52, 53).
<?php
if($audio == dublado){?>
<?php
for($x = 1; $x < $n_temporadas+1; $x++){
echo "$x";?>ªTemporada Dublado - <br>
<?php
for($i = 1; $i < $n_episodios+1; $i++){
echo "$i";?>.ep:
<input type="text" value="opção1" name="<?php echo htmlspecialchars('iframe_ep'.$x.$i);?>" autocomplete="off" /> - <input type="text" value="opção2" name="<?php echo htmlspecialchars('iframe_ep_op'.$x.$i);?>" autocomplete="off" /><br>
<?php }
}?>
<?php
}else if($audio == dub_leg){?>
<?php
for($x = 1; $x < $n_temporadas+1; $x++){
echo "$x";?>ªTemporada Dublado - <br>
<?php
Gostei + 0
01/03/2016
Marcio Araujo
Infelizmente PHP não suporta um for dentro de outro for.
Recomendo usar um for dentro de um while.
Abraço.
Nunca tinha lido algo assim, mas nunca foi mostrado em apostilas e em video aulas possiveis exemplos com dois for, nunca tinha reparado!
Gostei + 0
01/03/2016
Diogo
Infelizmente PHP não suporta um for dentro de outro for.
Recomendo usar um for dentro de um while.
Abraço.
Nunca tinha lido algo assim, mas nunca foi mostrado em apostilas e em video aulas possiveis exemplos com dois for, nunca tinha reparado!
Acabei de mostrar um exemplo que funciona usando dois for, mas estou tendo aquele problema com o outro código.
Gostei + 0
01/03/2016
Marcio Araujo
Gostei + 0
01/03/2016
Diogo
Gostei + 0
01/03/2016
Marcio Araujo
Gostei + 0
01/03/2016
Diogo
$episodios_none_array[$i] = "document.getElementById('div_ep$y$i').style.display=\"none\";
document.getElementById('div_ep_op$y$i').style.display=\"none\";
";
Isso:
document.getElementById('div_ep51').style.display="none";
document.getElementById('div_ep_op51').style.display="none";
document.getElementById('div_ep52').style.display="none";
document.getElementById('div_ep_op52').style.display="none";
document.getElementById('div_ep53').style.display="none";
document.getElementById('div_ep_op53').style.display="none";
Mas o certo utilizando os dois for, sendo q o n_temporadas é 5 e o n_episodios é 3 seria:
document.getElementById('div_ep11').style.display="none";
document.getElementById('div_ep_op11').style.display="none";
document.getElementById('div_ep12').style.display="none";
document.getElementById('div_ep_op12').style.display="none";
document.getElementById('div_ep13').style.display="none";
document.getElementById('div_ep_op13').style.display="none";
document.getElementById('div_ep21').style.display="none";
document.getElementById('div_ep_op21').style.display="none";
document.getElementById('div_ep22').style.display="none";
document.getElementById('div_ep_op22').style.display="none";
document.getElementById('div_ep23').style.display="none";
document.getElementById('div_ep_op23').style.display="none";
document.getElementById('div_ep31').style.display="none";
document.getElementById('div_ep_op31').style.display="none";
document.getElementById('div_ep32').style.display="none";
document.getElementById('div_ep_op32').style.display="none";
document.getElementById('div_ep33').style.display="none";
document.getElementById('div_ep_op33').style.display="none";
document.getElementById('div_ep41').style.display="none";
document.getElementById('div_ep_op41').style.display="none";
document.getElementById('div_ep42').style.display="none";
document.getElementById('div_ep_op42').style.display="none";
document.getElementById('div_ep43').style.display="none";
document.getElementById('div_ep_op43').style.display="none";
document.getElementById('div_ep51').style.display="none";
document.getElementById('div_ep_op51').style.display="none";
document.getElementById('div_ep52').style.display="none";
document.getElementById('div_ep_op52').style.display="none";
document.getElementById('div_ep53').style.display="none";
document.getElementById('div_ep_op53').style.display="none";
Gostei + 0
01/03/2016
Eduardo Pessoa
Gostei + 0
01/03/2016
Diogo
Gostei + 0
01/03/2016
Marcio Araujo
Vamos ver até quando vai essa "brincadeira" dele!
O PHP suporta sim loops FOR dentro FOR.
Nesses casos o que pode ser feito?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)