Ir para conteúdo

POWERED BY:

Arquivado

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

ValmirJunioi

Cadastro de cores em um formulário de produtos

Recommended Posts

Bom dia Galera!

 

Estou criando uma loja virtual e no cadastro de produtos preciso marcar as cores a qual aquele produto possui. Minha dificuldade é justamente criar um check box para que a pessoa que esta cadastrando marque todas as cores do produto e salve no BD.

Já criei o cadastro de cores e produtos e consigo visualiza las(as cores) como o OPTION, mais quando levo para CHECKBOX só me aparece um. No formulario de produtos estou usando esse codigo:

 

<label class="dir">
<strong>Cores</strong>
<input type="checkbox" name="id_cor" id="id_cor" value="<?php echo $id_cor ?>"/>
<?php
$cores = consultar("cor");
foreach ($cores as $cor){
$cod_cor = $cor["id_cor"];
if($cod_cor == $id_cor)
$selecionado = "selected";
else
$selecionado = "";
echo "<option value=$cod_cor $selecionado>$cor[cor]</option>";
};
?>
</select>
</label>
Criei um CRUD.PHP para configurar as ações e um CONFIG.PHP para a conexão.
Criei tambem uma pagina de OP_PRODUTO.PHP onde faço a operação das ações, segue abaixo:
<?php
/*ini_set('default_charset', 'UTF-8');*/
include_once("../../include/config.php");
include_once("../../include/crud.php");
include_once("../../include/biblio.php");
$id = $_POST["id"];
$acao = $_POST["acao"];
$txt_produto = $_POST['txt_produto'];
$txt_quant_produto = $_POST['txt_quant_produto'];
$id_categoria = $_POST['id_categoria'];
$id_subcategoria = $_POST['id_subcategoria'];
$id_fabricante = $_POST['id_fabricante'];
$id_cor = $_POST['id_cor'];
$txt_preco_alto = $_POST['txt_preco_alto'];
$txt_preco = $_POST['txt_preco'];
$img = $_FILES['img'];
$txt_imagem_produto = $_POST['txt_imagem_produto'];
$txt_descricao = $_POST['txt_descricao'];
$txt_detalhes = $_POST['txt_detalhes'];
$txt_destaque = $_POST['txt_destaque'];
$txt_ativo = $_POST['txt_ativo'];
$dados = array(
"id_categoria" => $id_categoria,
"id_subcategoria" => $id_subcategoria,
"id_fabricante" => $id_fabricante,
"id_cor" => $id_cor,
"produto" => $txt_produto,
"quant_produto" => $txt_quant_produto,
"preco_alto" => $txt_preco_alto,
"preco" => $txt_preco,
"imagem_produto" => $txt_imagem_produto,
"descricao" => $txt_descricao,
"detalhes" => $txt_detalhes,
"img" => $img,
"destaque" => $txt_destaque,
"ativo_produto" => $txt_ativo
);
$op = false;
$url_sucesso = URL_ADMIN . "index.php?link=6";
$url_erro = URL_ADMIN . "index.php?link=7";
if($acao=="Cadastrar")
$op = inserir("produto", $dados);
elseif($acao=="Alterar")
$op = alterar("produto", $dados, "id_produto = $id");
elseif($acao=="Excluir")
$op = deletar("produto", "id_produto = $id");
if ($op)
print "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=$url_sucesso'>
<script type= 'text/javascript'> alert ('Operação realizada com sucesso') </script>";
else
print "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=$url_erro'>
<script type= 'text/javascript'> alert ('Operação não foi realizada ') </script>"; ;
?>
Alguem pode me ajudar, ficarei grato.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste como você está criando os checkboxes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em uma pagina chamada frm_produto.php, existem varios campos com <option></opition> que são categorias, subcategorias e fabricantes e essa logo abaixo coloquei assim:

<label class="dir">
<strong>Cores</strong>
<input type="checkbox" name="id_cor" id="id_cor" value="<?php echo $id_cor ?>"/>
<?php
$cores = consultar("cor");
foreach ($cores as $cor){
$cod_cor = $cor["id_cor"];
if($cod_cor == $id_cor)
$selecionado = "selected";
else
$selecionado = "";
echo "<option value=$cod_cor $selecionado>$cor[cor]</option>";
};
?>
</select>
</label>
E lá em cima da mesma pagina esta assim:
<?php
ini_set('default_charset', 'UTF-8');
$id = $_GET["id"];
$acao = $_GET["acao"];
if($id){
$produto = consultar("produto", "id_produto = $id");
$id_categoria = $produto[0]["id_categoria"];
$id_subcategoria = $produto[0]["id_subcategoria"];
$id_fabricante = $produto[0]["id_fabricante"];
$id_cor = $produto[0]["id_cor"];
$txt_produto = $produto[0]["produto"];
$txt_quant_produto = $produto[0]["quant_produto"];
$txt_preco_alto = $produto[0]["preco_alto"];
$txt_preco = $produto[0]["preco"];
$txt_descricao = $produto[0]["descricao"];
$txt_detalhes = $produto[0]["detalhes"];
$txt_imagem_produto = $produto[0]["imagem_produto"];
$txt_img = $produto[0]["txt_img"];
$txt_destaque = $produto[0]["destaque"];
$txt_ativo = $produto[0]["ativo_produto"];
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está tentando colocar os checkboxes dentro do select? É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tentando no formulario de produtos aparecer todas as cores com um chekbox ao lado de cada uma, e poder escolher a quantidade de cores que o produto tem, mais esta aparecendo todas as cores uma abaixo da outra e só um chekbox

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer que apareçam os checkboxes, não coloque-os dentro do select.

Uma coisa é uma coisa, outra coisa é outra coisa.
Ao invés das options dentro do foreach, crie os checkboxes, e remova o select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ter que criar um chekbox para cada cor é isso? Se for, não tem como eu cadastrar as cores e aparecer automaticamente já com chekbox no formulario? Existe algum Jquery que faça isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde DSerma, resolvi em partes esse codigo aqui

<?php
$cores = consultar("cor");
foreach ($cores as $cor){
$cod_cor = $cor["id_cor"];
if($cod_cor == $id_cor)
$selecionado = "selected";
else
$selecionado = "";
echo "<input type='checkbox' name='id_cor' value=$cod_cor $selecionado>$cor[cor]</input>";
};
?>
coloquei o imput type dentro que antes era um option e veio do jeito que queria, só que:
* quando eu cadastro uma cor no cadastro de cores gera no cadastro de produtos a cor e o chekbox, só que totalmente desaliado: os nomes das dores na horizontal e os cheks na vertical;
* e no banco só grava uma cor a de maior valor;
Tem como me ajudar. Grato!

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.