Ir para conteúdo

POWERED BY:

Arquivado

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

fabinhuh

[Resolvido] Adicionar valores de CheckBox em uma unica coluna

Recommended Posts

Olá pessoal, estou aqui para pedir a ajuda de vocês que já possuem um conhecimento quilômetros mais avançado que o meu!!

 

é o seguinte,

 

Tenho uma tabela no banco de dados!

 

nessa tabela eu tenho um campo que puxa um valor de um checkbox.

Meu problema é:

 

Como faço para que ele adicione o conteudo de uns 3 checkboxes?

Se eu seleciono 3 checkboxes ele adiciona o valor apenas do último checkbox selecionado!

 

Tentei fazer com array/foreach e afins e não consegui =/

 

Agradeço desde já!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende da modelagem de tabelas que você fez(poste a estrutura delas),

e do nome dos checkboxs.. para usar um foreach nesse caso, faça:

 

<input type="checkbox" name="teste[]" />

<input type="checkbox" name="teste[]" />

<input type="checkbox" name="teste[]" /> ...

 

Ai você faria n INSERTs, sendo um para cada check, dependendo da estrutura de tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende da modelagem de tabelas que você fez(poste a estrutura delas),

e do nome dos checkboxs.. para usar um foreach nesse caso, faça:

 

<input type="checkbox" name="teste[]" />

<input type="checkbox" name="teste[]" />

<input type="checkbox" name="teste[]" /> ...

 

Ai você faria n INSERTs, sendo um para cada check, dependendo da estrutura de tabela.

é, quando tentei com foreach eu usei desta forma mesmo!

Só que dai ele criava um user_id pra cada checkbox selecionado =/

 

CREATE TABLE `questionario_ibhe` (
  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `empresa` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `segmento` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `nome_area` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `cargo` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_01` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_02` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_03` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_01` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_04` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_02` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_05` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_03` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_06` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_04` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_07` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `qual_01` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_08` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `qual_02` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_05` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_09` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_06` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_10` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_07` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `p_11` varchar(500) COLLATE latin1_general_ci NOT NULL,
  `pq_08` varchar(500) COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`user_id`)
)

Dai eu quero que ali no p_02

acrescente o valor dos checkboxes selecionados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá... pode explicar oque seria cada campo?

p_02 difere em que do p_03 ?

 

Cada check iria entrar em uma coluna diferente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho hein?! ai depois pra recuperar isso, vai precisar quebrar o campo.. mas enfim...

 

foreach($_POST['teste'] as $teste )

$p_02 .= $teste.', ';

 

echo $p_02;

Ai você insere na coluna p_02, a variável $p_02

Compartilhar este post


Link para o post
Compartilhar em outros sites

But,

aonde eu coloco isso?

 

eu coloquei no meu codigo e deu esse erro:

 

Warning: Invalid argument supplied for foreach()

olha como está meu código:

 

$sql = "INSERT INTO questionario_ibhe (
nome,
empresa,
segmento,
nome_area,
cargo,
p_01,
p_02,
p_03,
pq_01,
p_04,
pq_02,
p_05,
pq_03,
p_06,
pq_04,
p_07,
qual_01,
p_08,
qual_02,
pq_05,
p_09,
pq_06,
p_10,
pq_07,
p_11,
pq_08
) VALUES (
'".$_POST['nome']."', 
'".$_POST['empresa']."', 
'".$_POST['segmento']."', 
'".$_POST['nome_area']."', 
'".$_POST['cargo']."', 
'".$_POST['p_01']."',
'".$_POST['p_02']."',
'".$_POST['p_03']."', 
'".$_POST['pq_01']."', 
'".$_POST['p_04']."', 
'".$_POST['pq_02']."', 
'".$_POST['p_05']."', 
'".$_POST['pq_03']."', 
'".$_POST['p_06']."', 
'".$_POST['pq_04']."', 
'".$_POST['p_07']."', 
'".$_POST['qual_01']."', 
'".$_POST['p_08']."', 
'".$_POST['qual_02']."', 
'".$_POST['pq_05']."', 
'".$_POST['p_09']."', 
'".$_POST['pq_06']."', 
'".$_POST['p_10']."', 
'".$_POST['pq_07']."', 
'".$_POST['p_11']."', 
'".$_POST['pq_08']."'
)";

$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");
?>

Eu sou bem leigo, fiz um curso, mas é a minha primeira programação em PHP na vida com banco de dados =S

 

Vlwww William

Compartilhar este post


Link para o post
Compartilhar em outros sites

foreach($_POST['p_02'] as $p )

$p_02 .= $p.', ';

 

echo $p_02;

 

 

$sql = "INSERT INTO questionario_ibhe (

nome,

...

 

) VALUES (

'".$_POST['nome']."',

'".$_POST['empresa']."',

'".$_POST['segmento']."',

'".$_POST['nome_area']."',

'".$_POST['cargo']."',

'".$_POST['p_01']."',

'".$p_02."',

...

entendeu ?

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.