manolegal 12 Denunciar post Postado Dezembro 9, 2012 Olá amigos do forum. Gostaria de passar 02 valores diferentes em uma mesma array. Tenho o seguinte código: <tr> <td><div align="right"><font color="#333333" face="Courier New, Courier">Beneficiado(a):</font></div></td> <td><div align="left"><font color="#FF0000" size="2">* </font></div></td> </tr> <?php $i=0; $Sql = "SELECT * FROM ....... WHERE .......... ORDER BY nome"; $Resultado = executa($Sql); while($linha =pg_fetch_assoc($Resultado)){ $id_beneficiado_bd = $linha["id_beneficiado"]; $nome_bd = $linha["nome"]; $id_controle_bd = $linha["id_controle"]; ?> <tr><td> </td><td width="54%"> <?php $ok = 0; for($i=0; $i<count($beneficiado); $i++) { if ($beneficiado[$i] == $id_beneficiado_bd) { $ok=1; echo '<input type="checkbox" name="beneficiado[]" id="beneficiado" checked value="'.$id_beneficiado_bd.'">' . $nome_bd . '<br />'; } } if ($ok == 0) { echo '<input type="checkbox" name="beneficiado[]" id="beneficiado" value="'.$id_beneficiado_bd.'">' . $nome_bd . '<br />'; } $i++; } ?> </td> </tr> O valor do "BENEFICIADO ($id_beneficiado_bd)" estou recebendo normalmente: Array ( [0] => 13 [1] => 10 ) Gostaria de enviar também o valor de "$id_controle_bd = $linha["id_controle"];" em array. Como faço para enviar esse dado? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Dezembro 9, 2012 Com esse código, impossível pois $beneficiado não foi definida. O que você deveria fazer seria criar essa variável fora do loop while e dentro dele populá-la: $beneficiado = array(); while( $linha = pg_fetch_assoc( $Resultado ) ) { $beneficiado[ $linha["id_beneficiado"] ] = array( $linha["nome"], $linha["id_controle"] ); } Isso produzirá um array indexado pelos ID's dos beneficiados, sendo cada entrada outro array com aqueles dois valores. Atente que se por algum motivo surreal o ID se duplicar, dados serão sobrescritos. Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Dezembro 9, 2012 Tentei o seguinte: $Resultado = executa($Sql); $beneficiado = array(); while($linha =pg_fetch_assoc($Resultado)){ $beneficiado_bd[ $linha["id_beneficiado"] ] = array($linha["nome"], $linha["id_controle"]); ?> <tr><td> </td><td width="54%"> <?php $ok = 0; for($i=0; $i<count($beneficiado); $i++) { if ($beneficiado[$i] == $beneficiado_bd) { $ok=1; echo '<input type="checkbox" name="beneficiado[]" id="beneficiado" checked value="'.$beneficiado_bd.'">' . $linha["nome"] . '<br />'; } } if ($ok == 0) { echo '<input type="checkbox" name="beneficiado[]" id="beneficiado" value="'.$beneficiado_bd.'">' . $linha["nome"] . '<br />'; } $i++; } ?> </td> </tr> Ao submeter o form aparece o seguinte: Array ( [0] => Array [1] => Array ) Está correto desta forma? Como faço para "pegar" os dados da array para gravar no banco de dados? Compartilhar este post Link para o post Compartilhar em outros sites
paulojuchem 20 Denunciar post Postado Dezembro 9, 2012 a array e composta por chave => valor, e voce so esta colocando valor, olhe o exemplo $teste = array(); $teste['indice_qualquer']= array('outro_indice' => 'um valor' , 'qualquer_coisa' => 'outro_valor']); //testes echo $teste['indice_qualquer']; -- array echo $teste['indice_qualquer']['outro_indice']; --'um valor' echo $teste['qualquer_coisa']; -- null echo $teste['indice_qualquer']['qualquer_coisa']; -- 'outro_valor' Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Dezembro 11, 2012 Obrigado pela força. Não entendo muito de Array. Poderia me dar mais alguma sugestão? Preciso fazer a inserção dos dados no BD: for($i=0; $i<count($beneficiado); $i++) { $Sql = "INSERT INTO tabela (controle_id, beneficiado_atendido_id) VALUES (..........)"; $Resultado = executa($Sql); } Alguém teria sugestões? É muito importante para mim. Alguém poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Dezembro 26, 2012 Problema resolvido. Salvei o valor "id_controle" em array e posteriormente busquei os demais campos por consulta. Obrigado pela força. Compartilhar este post Link para o post Compartilhar em outros sites