Ir para conteúdo

POWERED BY:

Arquivado

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

Biel.

Excluir dois ids ao mesmo tempo em tabelas diferentes.

Recommended Posts



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

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

 

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

"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:

 

  1. Recebe codigo do item através da ação
  2. seleciona a relação com a tabela_venda na tabela curso_venda
  3. exclui o que tem q excluir na tabela_venda
  4. exclui a relação na tabela curso_venda
  5. exclui o produto na tabela_curso

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

 

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.