VongolaX 0 Denunciar post Postado Dezembro 13, 2010 Seguinte galera, to fazendo um sisteminha pro meu site...porem encontrei o seguinte problema criei um formulario pra inserir dados em determinada tabela, ate ai beleza... porem me deparei com um problema dos checksbox.. no meu formulario o check vem dinamico do banco de dados depedendo do genero, ai o usuário pode escolher varios genero exemplo - ele ta adicionando tal assunto ai no genero podera escolher, comedia, ação, terror etc... ai a duvida como salvar todos os valores dos checks no banco? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Dezembro 13, 2010 http://forum.imasters.com.br/index.php?/topic/125036-pegar-dados-de-checkbox/ Compartilhar este post Link para o post Compartilhar em outros sites
VongolaX 0 Denunciar post Postado Dezembro 13, 2010 http://forum.imasters.com.br/index.php?/topic/125036-pegar-dados-de-checkbox/ Eu vi esse topico e não e bem isso que eu quero, vo reformular minha pergunta. eu consigo salvar os dados na tabele mais APENAS um valor do check o que eu quero e salvar TODOS os valores que foram selecionados pelo usuario.. essa é minha dúvida, tipo eu seleciono varios checks porem ele so salva o valor de 1. será que eu vo precisar criar mais uma tabela? qual o tipo do campo da tabela que eu devo deixar? Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Dezembro 13, 2010 tipo, dá pra criar uma tabela armazenando o id do usuário e o id do check selecionado foreach($_POST['nome_check'] as $check){ ... insert into tabela_relacao_usuario_check values ($usuario,$check)... } Compartilhar este post Link para o post Compartilhar em outros sites
VongolaX 0 Denunciar post Postado Dezembro 15, 2010 Ta complicado o negocio, to seguindo um curso pra montar meu sistema, depois de muito tentar to quase la... porem o problema agora é que so e gravado os check que tem o menor id, se eu selecionar um que tem um id alto ele naum grava mo estranho isso, vo postar o link do meus codigos quem puder olhar e me ajudar eu agradeço :D codigo form http://pastebin.com/i41Y7z6Y codigo acao http://pastebin.com/zfw0C4mB to perdendo os cabelos já com isso =( PS:to começando agora em php então qualquer erro noob peço que não me crucifique :D Compartilhar este post Link para o post Compartilhar em outros sites
srnetcave 1 Denunciar post Postado Dezembro 15, 2010 Seguinte, ve se da para entender agora... form.html <form name="seuform" method="post" action="save.php"> <p> <label>Ação</label> <input type="checkbox" name="genero[]" value="acao"/> </p> <p> <label>Aventura</label> <input type="checkbox" name="genero[]" value="aventura"/> </p> <p> <label>Comédia</label> <input type="checkbox" name="genero[]" value="comedia"/> </p> <p> <label>Cartoon</label> <input type="checkbox" name="genero[]" value="cartoon"/> </p> <p> <label>Terror</label> <input type="checkbox" name="genero[]" value="terror"/> </p> <input type="submit" name="submit" value="Enviar"/> </form> save.php foreach ($_POST['genero'] as $value) { //seu codigo para inserir no banco aqui... $value contem o valor do checkbox selecionado... echo $value . '<br/>'; } perceba q a tag name da checkbox esta sendo passada como array adicionando as brackets name="genero[]". Assim, voce pode dar um foreach no post e pegar cada valor selecionado... Abraço Compartilhar este post Link para o post Compartilhar em outros sites
VongolaX 0 Denunciar post Postado Dezembro 16, 2010 Seguinte, ve se da para entender agora... form.html <form name="seuform" method="post" action="save.php"> <p> <label>Ação</label> <input type="checkbox" name="genero[]" value="acao"/> </p> <p> <label>Aventura</label> <input type="checkbox" name="genero[]" value="aventura"/> </p> <p> <label>Comédia</label> <input type="checkbox" name="genero[]" value="comedia"/> </p> <p> <label>Cartoon</label> <input type="checkbox" name="genero[]" value="cartoon"/> </p> <p> <label>Terror</label> <input type="checkbox" name="genero[]" value="terror"/> </p> <input type="submit" name="submit" value="Enviar"/> </form> save.php foreach ($_POST['genero'] as $value) { //seu codigo para inserir no banco aqui... $value contem o valor do checkbox selecionado... echo $value . '<br/>'; } perceba q a tag name da checkbox esta sendo passada como array adicionando as brackets name="genero[]". Assim, voce pode dar um foreach no post e pegar cada valor selecionado... Abraço p**** man e num é que deu certo :joia: :joia: eu fiquei dias quebrando a cabeça com o for e nada, em 5 min o foreach resolveu meus problemas ;) Vlw aew Compartilhar este post Link para o post Compartilhar em outros sites
petruchio 0 Denunciar post Postado Julho 14, 2014 ZF - Zend Freaker, eu acabei de ver a sua resposta pro VongolaX e o meu problema é parecido, mas não consegui resolver com o foreach, então se puder me ajudar, fico grato!!! O meu problema é bem parecido com o citado acima, mas o meu formulário tem mais de um checkbox, conforme o código abaixo: Tenho um formulário que lista as seguintes informações: Checkbox Cargo: Administrador, Analista, Engenheiro, Farmaceutico, etc..... Combo Quantidade de vagas: 1,2,3,4......... Justificativa da vaga: "texto justificando a contratação......" formulario.php <table width='80%' border='0' cellpadding='0' cellspacing='0'> <tr height='24' bgcolor='#FFFFFF'> <td valign='center' align='left'>Cargo</td> <td valign='center' align='left'>Quantidade de Vagas</td> <td valign='center' align='left'>Justificativa</td> </tr> <tr height='24' bgcolor='#FFFFFF'> <td> <input type='checkbox' name='COD_CARGO[]' value='{$COD_CARGO}' <? echo $checked;?>> {$NOME_CARGO} </td> <td> <select name='QTDE[]'> <option value='00'>-- Nº de vagas --</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> </select> </td> <td> <input type='text' name='DESCRICAO[]' maxlength='80' size='60' onBlur='trim(this);' size='66' onkeypress='javascript: return isAlfa(getkey(event));'> </td> </tr> </table> O problema é na hora de gravar estas informações, pois eu preciso que seja gravado os 3 campos (cargo, quantidade e justificativa) SOMENTE dos campos que forem selecionados no checkbox.... Tentei fazer com o foreach conforme o exemplo acima, mas daí ele só grava um cargo quando temos mais de um selecionado..... Alguém poderia me ajudar nisso??? Agradeço profundamente...... Compartilhar este post Link para o post Compartilhar em outros sites
srnetcave 1 Denunciar post Postado Julho 15, 2014 @petruchio, tem inumeras maneiras de fazer o acima... Vou listar uma das formas mais simples, mais provavelmente deve ter alguma library online. <?php $data = array( 'ICT Manager' => array( 'code' => 123, 'qty' => 2, 'desc' => 'This is my role...' ), 'Software Engineer' => array( 'code' => 154, 'qty' => 1, 'desc' => 'But I also do this...' ), 'UI Designer' => array( 'code' => 158, 'qty' => 3, 'desc' => 'and this....' ), 'IOS Developer' => array( 'code' => 164, 'qty' => 1, 'desc' => 'This I do for fun... :)' ), ); if ($_POST) { if (in_array($_POST['COD_CARGO'], $_POST)) { foreach ($_POST['COD_CARGO'] as $p) { // echo var_dump($_POST); echo 'Code: ' . $p . ' --- QTY: ' . $_POST['QTDE'][$p] . ' --- Desc: ' . $_POST['DESCRICAO'][$p]; echo '<br>'; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Test</title> </head> <body> <form name="cargos" method="post"> <table width="80%" border="0" cellpadding="0" cellspacing="0"> <tr height='24' bgcolor='#FFFFFF'> <td valign='center' align='left'>Cargo</td> <td valign='center' align='left'>Quantidade de Vagas</td> <td valign='center' align='left'>Justificativa</td> </tr> <?php foreach ($data as $cargo => $info) : ?> <tr height='24' bgcolor='#FFFFFF'> <td> <input type='checkbox' name='COD_CARGO[<?php echo $info['code']; ?>]' value='<?php echo $info['code']; ?>'> <?php echo $cargo; ?> </td> <td> <select name='QTDE[<?php echo $info['code']; ?>]'> <option value='0'>-- Nº de vagas --</option> <?php for ($i = 0; $i < 4; $i++) : ?> <option value="<?php echo $i;?>" <?php if ($info['qty'] == $i) { echo 'selected'; } ?>><?php echo $i;?></option> <?php endfor; ?> </select> </td> <td> <input type='text' name='DESCRICAO[<?php echo $info['code']; ?>]' value="<?php echo $info['desc']; ?>" maxlength='80' size='60'> </td> </tr> <?php endforeach; ?> </table> <input type="submit" name="submit" value="submit"> </form> </body> </html> tente usar var_dump(variable); para obter mais informacoes sobre a variable, quando trabalhando com forms, use var_dump(form.method) e.g. var_dump($_POST) e voce recebera mais informacoes no browser sobre $_POST array, continue fazendo isso em combinacao com foreach etc... assim voce entendera melhor o tipo de informacao que esta sendo enviada atraves HTTP/POST|GET etc.... Compartilhar este post Link para o post Compartilhar em outros sites