Biel. 9 Denunciar post Postado Outubro 27, 2014 Excluir dois ids ao mesmo tempo em tabelas diferentes. Bom dia a todos. Direto ao ponto. Pessoal abaixo temos duas tabelas. tabela_curso e tabela_idvenda . Se eu clicar em Excluir; veja que o id 1 da tabela_curso será excluido do banco de dados. A questão está aqui: Gostaria que ao clicar em excluir fosse deletado do banco de dados o id 1 da tabela_curso e id 2 da tabela_venda Quero usar apenas um link para deletar os dois ids com um só clique. Obrigado! tabela_curso idcurso curso 1 php 2 css tabela_venda idvenda venda 1 teclado 2 mouse pagina_1.php <?php $sql = mysql_query("SELECT * FROM tabela_curso WHERE idcurso = '1' "); while($linha = mysql_fetch_array($sql)){ $idcurso = $linha['idcurso']; } ?> <?php echo $idcurso;?> <a href="excluir.php?idcurso=1">Excluir</a> excluir.php <?php $sql_SELECT = mysql_query("SELECT * FROM tabela_curso WHERE idcurso = '1' "); while($linha = mysql_fetch_array($sql)){ } $sql_DELETE = mysql_query("DELETE FROM tabela_curso WHERE idcurso = '1' "); echo "ID EXCLUIDO COM SUCESSO! "; ?> Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Outubro 27, 2014 Faz dois DELETE, simples assim. Compartilhar este post Link para o post Compartilhar em outros sites
jackson.lessa 1 Denunciar post Postado Outubro 27, 2014 na ação do link excluir é só excluir da outra tabela tbm $sql_DELETE = mysql_query("DELETE FROM tabela_curso WHERE idcurso = '1' "); $sql_DELETE_venda = mysql_query("DELETE FROM tabela_venda WHERE idvenda = '1' "); Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 27, 2014 na ação do link excluir é só excluir da outra tabela tbm $sql_DELETE = mysql_query("DELETE FROM tabela_curso WHERE idcurso = '1' "); $sql_DELETE_venda = mysql_query("DELETE FROM tabela_venda WHERE idvenda = '1' "); Jackson obrigado por responder. Se eu estiver errado, por favor mim corrija. Veja:o link está dizendo que é para excluir idcurso=1 e todo o codigo está ligado ao idcurso=1 como então idvenda=2 também será excluido? Compartilhar este post Link para o post Compartilhar em outros sites
jackson.lessa 1 Denunciar post Postado Outubro 27, 2014 "Me corrija" Qual a ligação que existem entre o curso php e a venda do mouse? se ele existe uma relação você deveria ter uma tabela cursos_vendas id_curso id_venda 1 2 que seria usada para mostrar a relação entra as duas tabelas e no seu código ao você selecionaria através desta tabela quem você deveria excluir da tabela venda. em um passo a passo vc faria assim: Recebe codigo do item através da ação seleciona a relação com a tabela_venda na tabela curso_venda exclui o que tem q excluir na tabela_venda exclui a relação na tabela curso_venda exclui o produto na tabela_curso Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 27, 2014 Jackson não existe nenhuma ligação entre uma tabela e outra. Só quero saber se é possível deletar os dois ids com um só clique, sem precisar de dois links conforme sugeriu Rockrgo quando disse Faz dois DELETE, simples assim. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Outubro 27, 2014 sem precisar de dois links conforme sugeriu Rockrgo quando disse Faz dois DELETE, simples assim. Onde ele sugeriu dois links? Para On Delete via Banco de dados, trabalhe com FKs. Compartilhar este post Link para o post Compartilhar em outros sites
jackson.lessa 1 Denunciar post Postado Outubro 27, 2014 no link que você monta você pode passar o id do curso e da venda que você quer excluir <a href="excluir.php?idcurso=1&idvenda=2">Excluir</a> e ai na hora de excluir você usa o idcurso para excluir o curso e idvenda para excluir a venda. porém se eles não tem nenhuma ligação não tem motivo para excluir junto... Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 27, 2014 Onde ele sugeriu dois links? Para On Delete via Banco de dados, trabalhe com FKs. williams erro meu na hora de digitar. Dois delete e não dois links. Obrigado! williams que quer dizer FKs? Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Outubro 27, 2014 Só quero saber se é possível deletar os dois ids com um só clique, sem precisar de dois links.... Cria um relacionamento da uma lida nesse link LInk: Restrições de integridade referencial em cascata ALTER TABLE nome-da-tabela ADD FOREIGN KEY (campo-com-id-da-outra-tabela) REFERENCES a-outra-tabela(chave-primaria-desta) ON DELETE CASCADE; Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 27, 2014 no link que você monta você pode passar o id do curso e da venda que você quer excluir <a href="excluir.php?idcurso=1&idvenda=2">Excluir</a> e ai na hora de excluir você usa o idcurso para excluir o curso e idvenda para excluir a venda. porém se eles não tem nenhuma ligação não tem motivo para excluir junto... Parabéns Jackson! Era isso que eu queria <a href="excluir.php?idcurso=1&idvenda=2">Excluir</a> Agora vou criar dois delete e resolver a questão. Uma coisa tão simples, mas quando da um branco, você simplesmente não sai do zero. rsrsrs. vou tentar resolver aqui e já respondo. Grato! Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Outubro 27, 2014 Por que você quer deletar duas tabelas diferentes se não há relacionamentos entre elas? Qual é a razão entre os registros deletados? Mais parece uma escolha arbitrária do que sensata. Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 28, 2014 Por que você quer deletar duas tabelas diferentes se não há relacionamentos entre elas? Qual é a razão entre os registros deletados? Mais parece uma escolha arbitrária do que sensata. Gabriel Heming você está certo! Nota: Quando eu disse: Jackson não existe nenhuma ligação entre uma tabela e outra, estou dizendo em outras palavras que há sim ligação entre as tabelas, afinal não faz nenhum sentido deletar um id especifico da tabela_curso se não tem ligação com a tabela_venda. Ou seja: deletar pra quê? Pra nada? Porque então eu disse: Não existe nenhuma ligação entre uma tabela e outra. A ideia é não perder o foco da pergunta, senão fica mais dificil a maioria dos que lêem a minha dúvida compreender o que eu quero fazer. Estou procurando ser o mais especifico possivel em minhas dúvidas, para que a maioria ou todos possam compreender sem nenhuma dificuldade o que eu quero fazer. Faz dois DELETE, simples assim. Rockrgo obrigado pela dica. Valeu! no link que você monta você pode passar o id do curso e da venda que você quer excluir <a href="excluir.php?idcurso=1&idvenda=2">Excluir</a> e ai na hora de excluir você usa o idcurso para excluir o curso e idvenda para excluir a venda. porém se eles não tem nenhuma ligação não tem motivo para excluir junto... GAbriel Heming! Muito obrigado! Questão resolvida! Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Outubro 28, 2014 A ideia é não perder o foco da pergunta, senão fica mais dificil a maioria dos que lêem a minha dúvida compreender o que eu quero fazer.A compreensão até que fica claro, mas não faz sentido algum. Você deve entender que o relacionamento, entre os registros, deve ser implícita e não explícita. Uma vez que você deixa explícito que há uma ligação entre dois registros e a sua necessidade de utilizar ambos IDs na exclusão, o sistema fica, de certa forma, vulnerável, principalmente quanto a sua consistência. O que impede de alguém alterar apenas o ID de vendas? Pode ser que o curso não seja excluído, mas e as vendas? Ou ambos? Por isso eu insisto que revise a sua abordagem quanto a questão. Queremos que encontre a melhor maneira possível, e a atual abordagem não é a mais indicada pelos fatos apresentados. Compartilhar este post Link para o post Compartilhar em outros sites
jackson.lessa 1 Denunciar post Postado Outubro 28, 2014 Exatamente como Gabriel falou, do jeito que você falou, o que você está tentando fazer, não tem sentido, É como ligar o carro e o porta mala abrir Se você queria saber como passar dois parâmetros na url, a resposta é essa, mas se você gostaria de fazer dois deletes a partir de item você tem que ter uma relação entre eles Compartilhar este post Link para o post Compartilhar em outros sites
Biel. 9 Denunciar post Postado Outubro 28, 2014 Exatamente como Gabriel falou, do jeito que você falou, o que você está tentando fazer, não tem sentido, É como ligar o carro e o porta mala abrir Se você queria saber como passar dois parâmetros na url, a resposta é essa, mas se você gostaria de fazer dois deletes a partir de item você tem que ter uma relação entre eles Jackson! O que você postou juntamente com rockrgo consegui fazer o que eu queria. Eu já estava nesse caminho. Só que vocês dois me ajudou a resolver a questão mais rapidamente. Aqui deu tudo certo e está funcionando perfeitamente bem. Valeu! A compreensão até que fica claro, mas não faz sentido algum. Você deve entender que o relacionamento, entre os registros, deve ser implícita e não explícita. Uma vez que você deixa explícito que há uma ligação entre dois registros e a sua necessidade de utilizar ambos IDs na exclusão, o sistema fica, de certa forma, vulnerável, principalmente quanto a sua consistência. O que impede de alguém alterar apenas o ID de vendas? Pode ser que o curso não seja excluído, mas e as vendas? Ou ambos? Por isso eu insisto que revise a sua abordagem quanto a questão. Queremos que encontre a melhor maneira possível, e a atual abordagem não é a mais indicada pelos fatos apresentados. Gabriel Heming. Mais uma vez obrigado! Compartilhar este post Link para o post Compartilhar em outros sites