Ir para conteúdo

POWERED BY:

Arquivado

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

André Severino

[Resolvido] Passar 2 valores de checkbox e inserir na mesma tabel

Recommended Posts

Boa tarde pessoal, alguém sabe o que estou fazendo de errado, ou se existe uma outra possibilidade.

 

Bom quero pegar os 2 valores de 2 checkbox.

Um checkbox é atualizado via banco de dados e o outro é um valor normal = 1.

Só que eu não consigo inserir os 2 valores na tabela.

 

A lógica:

 

A pessoa escolhe um cargo, Advogado e seleciona se já tem experiencia ou não.

No op_cadastro.php o php vai receber os valores selecionados via checkbox e depois inserir na tabela cargosinteresse.

Abaixo eu fiz utilizando um echo p/ ver como saia na tela. e sai da seguinte forma

 

Selecionei os 4 valores, ele imprimiu corretamente. + o checkbox experiencia não vai

 

INSERT INTO interessecargos (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('', '', '1', '', '', '', '')

INSERT INTO interessecargos (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('', '', '6', '', '', '', '')

INSERT INTO interessecargos (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('', '', '10', '', '', '', '')

INSERT INTO interessecargos (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('', '', '7', '', '', '', '')

 

Abaixo o código - PHP

<div class="cargos_in">
        <?php 
		$sql_c	= mysql_query("SELECT * FROM cargos ORDER BY cargo") or die (mysql_error());
		$i = 0;
		while($res_c	= mysql_fetch_array($sql_c)){
			$cargo	= $res_c['cargo'];
			$id		= $res_c['id'];
		?>
       <div <?php if($i % 2) {echo "style='background-color:#AEE4FF';" ;} ?>>
           <input type="checkbox" name="cargosp[<?php echo $id; ?>]" value="<?php echo $id; ?>" style="width:14px; border:none;" /><?php echo $cargo; ?>
           <strong>Possui alguma experiencia?</strong> <input type="checkbox" name="txtExperiencia[<?php echo $id; ?>]" value="<?php echo $id; ?>" style="width:14px; border:none; float:right;" />
      </div>
	<?php 
		$i++; 
	}  
	?>
</div>

Assim eu recebo

// Faz loop pelo array do banco
foreach($carg as $expe){

echo "INSERT INTO $t_interesse (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('$id', '$cargos', '$expe',  '$l_aud', '$l_fis', '$l_men', '$l_vis')<br>";

}
Aqui uma print para ver como é feita a seleção.

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí André;

 

você não postou como você declara a variavel $carg, mas deduzindo o seu codigo o seu problema esta na função "foreach".

 

Pelo que entendi você declara $carg como $_POST['cargosp'] que é um array.

 

Ai com a função foreach você percorreu o array $carg jogando os valores na variavel $expe.

 

SOH QUEeeeeeEE... ai que vem o X da questao...

 

você esta usando soh os valores do array e nao as chaves que no seu caso sao importantes que carregam o id do cargo;;..

 

Tenta o seguinte...

 

 

 

foreach($carg as $id_carg => $expe){

echo "INSERT INTO $t_interesse (user_id, cargo_id, experiencia, user_auditiva, user_fisica, user_mental, user_visual) VALUES ('$id', '$id_carg', '$expe',  '$l_aud', '$l_fis', '$l_men', '$l_vis')<br>";

}
// $id_carg é a chave do array $carg q você esta percorrendo
// que aponta para o valor dessa chave gravando em $expe

Espero ter ajudado... qualquer coisa posta ai.. beleza...

Abraço's.. e Boa sorte..

 

PS: Soh pra te dar mais uma dica... você esta usando mysql_fetch_array($sql_c); ja que você esta usando a exibição associativa $res_c['cargo']; ... passe como mysql_fetch_assoc($sql_c); ai o seu site ganha desinpenho.. Ok.. flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda Leo, mas eu fiz de uma outra forma, usei 3 selects, ou seja, limitei para 3 cargos apenas por pessoa.

Mesmo assim obrigado pela dica e pela ajuda, vou usar o mysql_fetch_assoc, e realmente estava recebendo o $carg com o post em cima.

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.