fabinhuh 0 Denunciar post Postado Junho 22, 2009 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
William Bruno 1501 Denunciar post Postado Junho 22, 2009 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
fabinhuh 0 Denunciar post Postado Junho 22, 2009 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
William Bruno 1501 Denunciar post Postado Junho 22, 2009 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
fabinhuh 0 Denunciar post Postado Junho 22, 2009 Então, olha aqui: http://www.ibhe.com.br/questionario/ Cada pergunta fica em uma coluna da tabela! Dai uma das perguntas a pessoa pode selecionar mais de uma resposta! no caso a pergunda 2. Preciso que os valores selecionados pelo usuario fique somente dentro da coluna p_02 tkss Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 22, 2009 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
fabinhuh 0 Denunciar post Postado Junho 22, 2009 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
William Bruno 1501 Denunciar post Postado Junho 22, 2009 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
fabinhuh 0 Denunciar post Postado Junho 22, 2009 Aeee, Deu certo! Muito Obrigado Cara! Pior, que eu tentei uma coisa semelhante, errei por pouca coisa eheheh. Vlwzão! Compartilhar este post Link para o post Compartilhar em outros sites