SAVI 0 Denunciar post Postado Maio 19, 2011 Olá, estou com a seguinte duvida: Tenho duas Tabelas que possui os seguintes campos: produtos -codigo -nome -cor1 -cor2 -cor3 cores -codigo -nomecor No meu formulario para inclusão do cadastro do produto tenho os seguintes campos: <form name="formcadastro" action="produto_incluir.php" method="post" enctype="multipart/form-data"> Nome: <input name="nome" type="text" id="nome" size="25"></td> //aqui o operador digita o nome do produto <br> <?php $sqlcor = "SELECT * FROM cores"; // aqui seleciono as cores cadastradas na tabela $resultadocor = mysql_query($sqlcor,$conect) or die(mysql_error()); while($linhacor = mysql_fetch_array($resultadocor)) { echo "Cores: <input name='".$linhacor['nome']."' type='checkbox' value='".$linhacor['codigo']."'>".$linhacor['nome']."<br>"; //aqui exibo no formulário as checkboxes com as cores cadastradas para que o operador possa selecionar uma ou mais cores. } ?> <br> <input type="submit" name="Submit" value="Cadastrar Produto"> </form> meu produto_incluir.php esta assim: <?php include("conect.php"); $nome = $_POST["nome"]; //recebo os dados do campo nome $cor //COMO RECEBO AQUI OS CAMPOS QUE FORA SELECIONADOS E COMO FALO ABAIXO EM "VALUES" PARA QUAL CAMPO DE TABELA ELE DEVE IR? $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES ('$nome','COMO INFORMO QUE ESTE VALOR É DO CAMPO COR1?', 'COMO INFORMO QUE ESTE VALOR É DO CAMPO COR2?', 'COMO INFORMO QUE ESTE VALOR É DO CAMPO COR3?',now())"; $resultado = mysql_query($sql,$conect) or die(mysql_error()); $codigo = mysql_insert_id(); if(!$resultado) { print "<script> alert('Houve um erro no Cadastro. Informe o Administrador do sistema.'); location.href='produto_cadastro.php'; </script>"; exit; } else { print "<script> alert('Cadastro efetivado com sucesso.'); location.href='produto_cadastro.php'; </script>"; exit; } ?> Essa é a duvida na passagem dos dados do checkbox para seus devidos campos na tabela, desde já meu muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
jquerymagazine.com.br 0 Denunciar post Postado Maio 19, 2011 você tem para APENAS 1 chk varios valores exemplo: cor, tamanho, quantidade você pode pelar o value desse chk assim cor_tamanho_quantidade e dar um explode pelo _ Se foi isso que entendi. Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 20, 2011 você tem para APENAS 1 chk varios valores exemplo: cor, tamanho, quantidade você pode pelar o value desse chk assim cor_tamanho_quantidade e dar um explode pelo _ Se foi isso que entendi. desculpe naõ entendi.... Compartilhar este post Link para o post Compartilhar em outros sites
Justin Bieber 0 Denunciar post Postado Maio 20, 2011 Primeiro: <input name='".$linhacor['nome']."' type='checkbox' value='".$linhacor['codigo']."'>" você tem que por um NAME no checkbox, não pode por um NAME Dinâmico, senão como você vai recuperar o valor na outra página ? Coloque outro NAME fixo, tipo 'cores[]'. E coloque esses colchetes, indica Array(). Depois na página você faz: $nome = $_POST["nome"]; $cores = $_POST['cores']; foreach($cores as $valor) $cor .= $valor.','; $cor = substr($cor, 0, strlen($cor)-1); $cor = explode(",", $exp); $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$exp[0]','$exp[1]','$exp[2]',now())"; Se der erro nos informe. Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 23, 2011 Olá, bom dia. Alterei o campo do form, conforme abaixo: <input name='cores[]' type='checkbox' value='".$linhacor['codigo']."'> e fiz no arquivo de inclusão no banco como o exemplo abaixo: $nome = $_POST["nome"]; $cores = $_POST['cores']; foreach($cores as $valor) $cor .= $valor.','; $cor = substr($cor, 0, strlen($cor)-1); $cor = explode(",", $exp); $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$exp[0]','$exp[1]','$exp[2]',now())"; //Os dados do formulario são todos carregados na tabela, exceto as cores, dei um echo no $cores para ver o que estava sendo trazido do form, porem o retorno me mostrou apenas a paravra Array, sem nenhum resultado, infelizmente não funcionou, tem alguma alteração que fiz errado? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Justin Bieber 0 Denunciar post Postado Maio 23, 2011 Desculpa, na pressa errei aqui a instrução. No lugar de $exp é $cor $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$exp[0]','$exp[1]','$exp[2]',now())"; Assim: $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$cor[0]','$cor[1]','$cor[2]',now())"; Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 23, 2011 Olá, muito obrigado pela ajuda, porém... kkkkkk... No formulário quando seleciono no checkbox os 3 valores (Cor1, Cor2 e Cor3) vai certinho cada um para sua coluna no banco, porem quando seleciono apenas cor1 e cor3 por exemplo ele carrega no banco a cor1 na coluna cor1 e a cor3 na coluna da cor2, tem como fazer ele ir pra coluna correta? Desculpe a insistencia, mas é a primeria vez que trabalho com array e estou perdidão... Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
Justin Bieber 0 Denunciar post Postado Maio 23, 2011 Dá... mas explique melhor. São quantos checkbox ? Três por nome ? Ou três por formulário ? Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 23, 2011 Dá... mas explique melhor. São quantos checkbox ? Três por nome ? Ou três por formulário ? Olá... O numero de checkbox vai ser de acordo com a quantidade de cores cadastradas no banco, atualmente são 15, mas esse numero pode crescer conforme a demanda, ou seja em um form se tenho 15 cores cadastradas o formulario lista todas elas, e no momento do cadastro do produto o operador tem por opção selecionar uma ou mais cores para o produto, cada produto tem no minimo 2 cores, e na tabela produtos do banco tenho uma coluna para cada cor que preciso que a cor seja cadastrada exatamente na coluna correspondente a cor, bom pelo menos foi essa a solução que encontrei, apesar que quando é lançada uma nova cor tenho que abrir mais uma coluna na tabela dos produtos, porem se houver uma sugestão mais plausivel aceito tb... Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Justin Bieber 0 Denunciar post Postado Maio 23, 2011 Certo... você quer escolher a sequência das cores então ? Por exemplo, você quer que a Cor 13 seja a Cor 1 né ? Cria 3 selects <select> Um chamado, NAME='COR1', NAME='COR2', NAME='COR 3'. Dae dá pra escolher 3 cores diferentes para aquele produto. Dae você chama no PHP normal, sem precisar de Foreach. $_POST['cor1']; $_POST['cor2']; $_POST['cor3']; E joga no Insert. Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 24, 2011 Olá, mais uma vez eu aqui... então a aplicação inicial até estava desta forma, mas como a necessidade faz o caso é que a demanda de cores dos produtos tem crescido, essa opção do uso do Array junto com o checkbox que você me passou é fantastica, só queria saber se existe uma opção para que seja apontado o resultado do array para um campo especifico da tabela... cara juro que estou feito louco no google da vida pra encontrar uma solução... mais uma vez muito obrigado.... Compartilhar este post Link para o post Compartilhar em outros sites
SAVI 0 Denunciar post Postado Maio 24, 2011 Olá meu amigo... como você me ajudou a solucionar praticamente todo o script é mais do que justo postar o resultado final, conversando com outro brother em um forum, o Marcos Regis do phpbrasil.com ele me postou a seguinte solução para o script, espero que possa ser tão util para você quanto foi para mim, mais uma vez meu muito obrigado pela ajuda e muito sucesso pra voce tambem, segue abaixo: troque while($linhacor = mysql_fetch_array($resultadocor)) { echo "Cores: <input name='cores[]' type='checkbox' value='".$linhacor['codigo']."'>".$linhacor['nome']."<br>"; //aqui exibo no formulário as checkboxes com as cores cadastradas para que o operador possa selecionar uma ou mais cores. } por $ix=0; while($linhacor = mysql_fetch_array($resultadocor)) { echo "Cores: <input name='cores[" . $ix++ . "]' type='checkbox' value='".$linhacor['codigo']."'>".$linhacor['nome']."<br>"; //aqui exibo no formulário as checkboxes com as cores cadastradas para que o operador possa selecionar uma ou mais cores. } e isso $cores = $_POST['cores']; foreach($cores as $valor) $cor .= $valor.','; $cor = substr($cor, 0, strlen($cor)-1); $cor = explode(",", $cor); $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$cor[0]','$cor[1]','$cor[2]',now())"; por $cor0 = isset($_POST['cores'][0])?$_POST['cores'][0]:''; $cor1 = isset($_POST['cores'][1])?$_POST['cores'][1]:''; $cor2 = isset($_POST['cores'][2])?$_POST['cores'][2]:''; $sql = "INSERT INTO produtos (nome,cor1,cor2,cor3,data_cad) VALUES('$nome','$cor0','$cor1','$cor2',now())"; Compartilhar este post Link para o post Compartilhar em outros sites
ValmirJunioi 0 Denunciar post Postado Abril 14, 2016 Savi boa noite. Estou coma mesma situação que você passou e estou para arrancar os cabelos. Tenho também que cadastrar as cores em produtos e esta dessa forma: cadastro de cores ok(gerando o id_cores), cadastro de produtos ok aparecendo as cores em chekbox que cadastro maiis não consigo que gravem no banco, você pode me ajudar ou me dar uma luz de como faço. Compartilhar este post Link para o post Compartilhar em outros sites
ValmirJunioi 0 Denunciar post Postado Maio 3, 2016 Savi boa noite. Estou coma mesma situação que você passou e estou para arrancar os cabelos. Tenho também que cadastrar as cores em produtos e esta dessa forma: cadastro de cores ok(gerando o id_cores), cadastro de produtos ok aparecendo as cores em chekbox que cadastro maiis não consigo que gravem no banco, você pode me ajudar ou me dar uma luz de como faço. Alguem pode me ajudar, preciso inserir no cadastro os atributos de um produto e o mesmo pode ter varios atributos com cor preta tamanho m quant 3/ cor azul tamanho m quantidade 4.... Não estou conseguindo fazer isso tenho cadastros separados cada id com um atributo, mais no front end preciso chamar tudo que o aquele id possui! Me ajudem porfavor Compartilhar este post Link para o post Compartilhar em outros sites