DLSeken 4 Denunciar post Postado Julho 28, 2014 Galera bom dia, Desculpe por postar o código desse jeito mas onde eu estou as páginas não carregam totalmente e não aparece o "ícone" para eu colocar o código. Bom vamos ao que interessa. Estou com uma dúvida em um array. Tenho um While que pode retornar diversas linhas e para cada linha ele deve imprimir através de um FOR vários radio button só que na frente deles preciso que venham com alguns "valores" porém meu sistema só está pegando o valor de um array. Alguém poderia me dar alguma dica? <?PHP $array1 = array(0,1,2,3,4,5); $array2 = array(0,6,12,18,24,30,36,42,48,54,60); $resultado = listaTitulo($conexao, $_POST['txtEDITAL']); $j = 0; while ($linha = $resultado->fetch(PDO::FETCH_ASSOC)) {?> <tr> <td><div align='center'><font size='1px'><?=$linha['nr_titulo']?></font></div></td> <td><div align='center'><font size='1px'><p align='left'><?=$linha['ds_titulo']?></p></font></div></td> <td><div align='center'><font size='1px'><?=$linha['nr_pontuacao']?></font></div></td> <td><div align='center'><font size='1px'><?=$linha['nr_pontos_maximo']?></font></div></td> <? $soma = (($linha['nr_pontos_maximo'] / $linha['nr_pontuacao']) + 1); $j++; for($i =0; $i < $soma; $i++){ if ($j == 0){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo $array1[$i];?></a></div></td> <?} else{?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo $array2[$i];?></a></div></td> <?}?> <?}?> <?}?> Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Julho 28, 2014 O que seria "o valor de um array"? Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Julho 28, 2014 ...meu sistema só está pegando o valor de um array. Oi ele so mostra um porque você colocou um IF comparando $j a 0, ele só vai aparecer quando for = a 0, e antes disso voce incrementa ele, que tinha começado com valor 0; Ou seja antes do while $j = 0; antes do for voce incrementa, agora ele vale 1 dentro do for voce só mostra se for igual a 0, mas ele é 1, então mostra o segundo. if ($j == 0){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo $array1[$i];?></a></div></td> <?} else{?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo $array2[$i];?></a></div></td> <?}?> Outra coisa quando $soma for maior que o numero de elementos do array, tambem vai a mensagem Undefined offset: Compartilhar este post Link para o post Compartilhar em outros sites
DLSeken 4 Denunciar post Postado Julho 28, 2014 Voltei do almoço agora e consegui pensar numa solução e consegui fazer funcionar .... Obrigado pela ajuda de vocês. Segue a solução abaixo. <?PHP // esse array serve para dizer de quanto em quanto a pontuação vale $array = array(1,2,4,6); $resultado = listaTitulo($conexao, $_POST['txtEDITAL']); $count = 0; while ($linha = $resultado->fetch(PDO::FETCH_ASSOC)) {?> <tr> <td><div align='center'><font size='1px'><?=$linha['nr_titulo']?></font></div></td> <td><div align='center'><font size='1px'><p align='left'><?=$linha['ds_titulo']?></p></font></div></td> <td><div align='center'><font size='1px'><?=$linha['nr_pontuacao']?></font></div></td> <td><div align='center'><font size='1px'><?=$linha['nr_pontos_maximo']?></font></div></td> <? $soma = (($linha['nr_pontos_maximo'] / $linha['nr_pontuacao']) + 1); for($i =0; $i < $soma; $i++){ if($linha['nr_titulo'] == 1){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[0])*($i));?></a></div></td> <?}?> <?if($linha['nr_titulo'] == 2){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[2])*($i));?></a></div></td> <?}?> <?if($linha['nr_titulo'] == 3){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[2])*($i));?></a></div></td> <?}?> <?if($linha['nr_titulo'] == 4){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[1])*($i));?></a></div></td> <?}?> <?if($linha['nr_titulo'] == 5){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[2])*($i));?></a></div></td> <?}?> <?if($linha['nr_titulo'] == 6){?> <td><div align='center'><input type='radio' name='ST_PONTUACAO_01' id='ST_PONTUACAO_01_<?$i?>' value='<?$i?>' checked><a size='1px' color='#0000FF'><?echo (($array[0])*($i));?></a></div></td> <?} }?> <?}?> Compartilhar este post Link para o post Compartilhar em outros sites