Guest regina Postado Dezembro 3, 2007 Denunciar Share Postado Dezembro 3, 2007 Surgiu-me uma nova dúvida:Descrição do projetoNo projeto que estou desenvolvendo o usuário pode definir estilos para os produtos, o produto pode ter n estilos dentro desta tabela.Dúvida em siComo eu faço para excluir uma opção de estilo na tabela para o caso dele ter marcado uma opção errada??Só lembrando que Não quero a sql "delete bla bla bla..." esta parte eu sei, mas não sei como definir quem deve ser excluído ou não.Exemplo marcação inicial:Produto ZZZ[x] estilo 1 [ ] estilo 2 [x] estilo 3Exemplo marcação a alterar:Produto ZZZ[ ] estilo 1 [x] estilo 2 [x] estilo 3Neste caso eu tenho que excluir o registro onde tem o produto ZZZ e o estilo 1. Como devo fazer?Para gravar e editar eu uso o script a seguir:CODE## ESTILOS echo count($estilo)." qt array estilo <br/>"; if (!empty($estilo)) { $estilo = $_POST['estilo']; $i=0; while (!empty($estilo[$i])) { $estilos=$estilo[$i]; $sql_prod = mysql_query("SELECT id_produto,id_estilo FROM tb_produtos_estilos WHERE id_produto=$cod' AND id_estilo='$estilos'") or die(mysql_error()); $reg_prod = mysql_num_rows($sql_prod); $a = mysql_fetch_array($sql_prod); echo $reg_prod." reg <br/>"; if ($reg_prod==0) { $sql_estilo = "INSERT INTO tb_produtos_estilos (id_produto,id_estilo,criacao_data,criacao_operador) VALUES ('$cod','$estilos',NOW(),'$logado')"; } else { if ($estilos!=$a["id_estilo]) $sql_estilo = "UPDATE tb_produtos_estilos SET id_estilo='$estilos', edicao_data=NOW(), edicao_operador='$logado' WHERE id_produto='$cod'"; } $resultado_estilo = mysql_query($sql_estilo) or die(mysql_error()); $i++; } // while ($usu_filho_nome[$i] != "") { }// if (!empty($estilo)) {Grata Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Dezembro 3, 2007 Denunciar Share Postado Dezembro 3, 2007 Na hora em que o formulário for enviado, você verifica quais os checkboxes que estão marcados. E depois você faz um delete na tabela onde o produto for igual ao valor do check marcado.Se (prod1==marcado) delete form tabela where campo1 = 'prod1'Se (prod2==marcado) delete form tabela where campo1 = 'prod2'Se (prod3==marcado) delete form tabela where campo1 = 'prod3'... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest dr Postado Dezembro 4, 2007 Denunciar Share Postado Dezembro 4, 2007 é mais fácil dar o delete e depois insert... primeiro você deleta todos os estilos do produto, e depois insere os novos estilos, fica mais simples que tentar um update "cirurgico"...algo assimDELETE FROM tb_produtos_estilos WHERE id_produto=$cod e em seguida INSERT INTO tb_produtos_estilos (id_produto,id_estilo,criacao_data,criacao_operador) VALUES ('$cod','$estilos',NOW(),'$logado') Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest regina
Surgiu-me uma nova dúvida:
Descrição do projeto
No projeto que estou desenvolvendo o usuário pode definir estilos para os produtos, o produto pode ter n estilos dentro desta tabela.
Dúvida em si
Como eu faço para excluir uma opção de estilo na tabela para o caso dele ter marcado uma opção errada??
Só lembrando que Não quero a sql "delete bla bla bla..." esta parte eu sei, mas não sei como definir quem deve ser excluído ou não.
Exemplo marcação inicial:
Produto ZZZ
[x] estilo 1 [ ] estilo 2 [x] estilo 3
Exemplo marcação a alterar:
Produto ZZZ
[ ] estilo 1 [x] estilo 2 [x] estilo 3
Neste caso eu tenho que excluir o registro onde tem o produto ZZZ e o estilo 1. Como devo fazer?
Para gravar e editar eu uso o script a seguir:
CODE
## ESTILOS
echo count($estilo)." qt array estilo <br/>";
if (!empty($estilo)) {
$estilo = $_POST['estilo'];
$i=0;
while (!empty($estilo[$i])) {
$estilos=$estilo[$i];
$sql_prod = mysql_query("SELECT id_produto,id_estilo FROM tb_produtos_estilos WHERE id_produto=$cod' AND id_estilo='$estilos'") or die(mysql_error());
$reg_prod = mysql_num_rows($sql_prod);
$a = mysql_fetch_array($sql_prod);
echo $reg_prod." reg <br/>";
if ($reg_prod==0) {
$sql_estilo = "INSERT INTO tb_produtos_estilos (id_produto,id_estilo,criacao_data,criacao_operador) VALUES ('$cod','$estilos',NOW(),'$logado')";
} else {
if ($estilos!=$a["id_estilo])
$sql_estilo = "UPDATE tb_produtos_estilos SET id_estilo='$estilos', edicao_data=NOW(), edicao_operador='$logado' WHERE id_produto='$cod'";
}
$resultado_estilo = mysql_query($sql_estilo) or die(mysql_error());
$i++;
} // while ($usu_filho_nome[$i] != "") {
}// if (!empty($estilo)) {
Grata
Link para o comentário
Compartilhar em outros sites
2 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.