Adicto TR Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 pessoal o meu problema é o seguinte...tenho um form com uma seqüência de checkbox e eu quero jogar os valores de todos dentro de um único campo do banco de dados.ex:[ ] açúcar[ ] carne[ ] feijãoo resultado dentro do campo produtos no banco de dados seria :açúcar, carne, feijãoalguém tem alguma idéia? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 Basta você pegar os valores do checkboxes (se estiverem 'checados') e colocar direto no BD... assumindo que os checks tenham o nome 1, 2 e 3, basta você juntar eles...$x = $_POST['1'].",".$_POST['2'].",".$_POST['3'];dai no INSERT INTO você manda o $x... só que é bom você colocar uma rotina para ver quais checks foram usados, para não ir valor em branco para o BD... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Adicto TR Postado Fevereiro 10, 2007 Autor Denunciar Share Postado Fevereiro 10, 2007 ESerralegal, solução bem simples.... está feita...mas e se invés de 4 itens em um conjunto e 9 no outro eu tivesse um form enorme com uns 30 checks?estou tentando entender como funciona uma array.recuperar os dados e imprimir em tela eu consegui.li em um pos sobre usar array.join que faria a transformação do array em string, mas só cabeçada e nada de positivo no resultado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 10, 2007 Denunciar Share Postado Fevereiro 10, 2007 Veja um exemplo simples: $check = array(); $check[] = "açucar"; $check[] = "arroz"; $check[] = "feijão"; $check[] = "batata"; $string = ""; for ($c = 0; $c < count ($check); $c++) { $string .= $check[$c] . (($c == (count ($check) - 1)) ? "" : ", "); } echo $string; Independentemente de quantos checks houver, dê a eles o mesmo nome, incluindo "[]" no fnal: <input type="checkbox" name="nome[]" value="feijao" /> <input type="checkbox" name="nome[]" value="arroz" /> Pegua os valores: $check = isset ($_POST['nome']) ? $_POST['nome'] : array(); E aplique o for como mostrei.;)[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SK15 Postado Fevereiro 11, 2007 Denunciar Share Postado Fevereiro 11, 2007 (editado) Acho que seria mais vantajoso/rapido usar "implode" em vez de uma função própria :lol: <input type="checkbox" name="produto[]" value="açúcar"> <input type="checkbox" name="produto[]" value="carne"> <input type="checkbox" name="produto[]" value="feijão"> <?php $juntar = implode(", ", $_POST["produto"]); echo $juntar; // O resultado é: açúcar, carne, feijão (se os 3 for setado, obvio) ?>http://www.php.net/manual/pt_BR/function.implode.php Editado Fevereiro 11, 2007 por SK15 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Adicto TR
pessoal o meu problema é o seguinte...
tenho um form com uma seqüência de checkbox e eu quero jogar os valores de todos dentro de um único campo do banco de dados.
ex:
[ ] açúcar
[ ] carne
[ ] feijão
o resultado dentro do campo produtos no banco de dados seria :
açúcar, carne, feijão
alguém tem alguma idéia?
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.