Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Buenas.
Estou trabalhando num sisteminha bem simples de um site, mas nao sou um programador nato e estou tendo dificuldades ( acredito eu ) com a lógica do que preciso fazer, e precisava de um toque de vcs, vamos la.
Estou montando um site de uma loja de bolsas, e na hora de cadastrar uma determinada bolsa, vai aparecer varias "bolinhas" com cores cadastradas no sistema, cada cor eu coloquei um checkbox onde ela seleciona as cores disponiveis pra aquela bolsa.
Pois bem, no admin onde se cadastra esse produto, tem os campos nome, codigo, descricao, imagem do produto ( apenas 1 ), a categoria dela e esse confunto de checkbox com a cores cadastradas no sistema. Eu estou gravando essas cores no banco como se fosse um array, entao no banco ficaria assim 1,2,5,8,10, etc...Fiz assim porque a bolsa nao tem um minimo de cores que podem ser relacionadas, entao resolvi jogar num array, ela cadastra quantas quiser e gol.
Na hora de resgatar elas no front, ta tranquilo tambem fiz um "for" la e beleza.
Agora o "pobrema"...Eu preciso nesse admin, criar um botao editar...para que ela possa editar esse produto, a pergunta é:
Dessa maneira com que eu gravei essas cores, ficando no banco como um array, eu ( acredito ) que nao de pra editar, qual seria a melor logica entao para, cadastrar multiplos valores vindos desse grupo de checkbox, de forma que eu consiga manipular cada item cadastrado individualmente ?
Se alguem puder me dar so um toque em relação a logica para fazer isso, ficaria agradecido !
Abaixo, vou colar a maneira como fiz essa parte do cadastro, HTML PHP E BANCO.
html
<form action="produtos.php" method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="operacao" value="gravar" /> <label>Nome do Produto:</label> <br /> <input type="text" name="nome" size="40" /> <br /> <label>Referência:</label> <br /> <input type="text" name="referencia" size="40" /> <br /> <label>Cores:</label> <br /> <div class="cores"> <input type="checkbox" name="cor[]" value="10" /> <img src="img_cores/06b40224ab.gif" alt="Flotter branco" /> [b][color="#8B0000"]{ esse item de cima [e a bolinha de cor, imaginem uns 50 dele...nao coloquei pra poupar espaço, o name é sempre o mesmo so muda o value dele...}[/color][/b] <br /> Flotter branco </div> <div style="display:block; clear:both; margin:10px 0 0 0;"> <label>Categoria:</label> <br /> <select name="categoria" class="select"> <option>-------------------------</option><option value="1">BLABLA</option></select> </div> <label>Imagem do Produto:</label> <br /> <input type="file" name="foto" size="40" /> <br /> <label>Descrição da Peça:</label> <br /> <textarea rows="5" cols="50" name="descricao"></textarea> <br /><br /> <input type="submit" value="Enviar" class="btn" /></fieldset></form>
$nome = $_POST['nome']; $referencia = $_POST['referencia']; $descricao = $_POST['descricao']; $categoria = $_POST['categoria']; foreach($_POST["cor"] as $cor){$cores.=$cor.",";} $grava = mysql_query("insert into produtos (path_imagem,nome,referencia,preco,cor,categoria,descricao) values ('".$imagem_dir."','".$nome."','".$referencia."','".$preco."','".$cores."','".$categoria."','".$descricao."')"); if($grava){echo "<script type='text/javascript'>alert('Produto gravado com sucesso !');document.location.href='produtos.php?pg=1;</script>";} else{echo "<script type='text/javascript'>alert('Erro na gravação do produto.);document.location.href='produtos.php?pg=1;</script>";};
Banco
CREATE TABLE produtos ( id_produto int(11) NOT NULL auto_increment, path_imagem varchar(250) default NULL, nome varchar(100) default NULL, referencia varchar(50) default NULL, preco decimal(5,2) unsigned default NULL, categoria varchar(50) default NULL, descricao varchar(250) default NULL, cor text, PRIMARY KEY (id_produto)) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
Valeu !!
Carregando comentários...