Bobrinha 4 Denunciar post Postado Março 27, 2013 Olá Gostaria de saber como faço para antes de deletar um registro verificar se existe algum registro em outra tabela relacionada a ele, por exemplo digamos que no ID enviado abaixo seja 1, ou seja categoria com ID 1, porem em outra tabela exite uma coluna chamada id_categoria que tem registros referentes a essa categoria então deve so aparecer uma mensagem, vc deve apagar todos os registros relacionados antes de excluir essa categoria, então se não tiver nenhum registro referente a categoria ai deleta. o script é esse <?php $id = mysql_real_escape_string($_GET["id"]); $sql = mysql_query("DELETE FROM categoria WHERE id='$id'"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 27, 2013 há vários meios.. um meio simples é fazer um select nas tabelas dependentes antes de prosseguir com a ação deo DELETE.. Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Março 27, 2013 A ideia eu tenho mais não sei aplicar, ou seja criar o script, sei que tem que fazer um select onde deve-se verificar se tem valou ou não se é maior ou menor ai usa if exemplo :( Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Saraiva 84 Denunciar post Postado Março 27, 2013 Como hinon ja citou você faria um select. Ai você iria verificar se a consulta retornou algum resultado se retornar é que o regitro existe. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 27, 2013 vc sabe conectar no banco e aplicar um DELETE mas não sabe fazer uma condicional de if else? :upset: if( $quantidade > 1 ){ // não deleta }else{ // deleta } Faz aí porque ninguém fará o seu serviço por você... a não ser que apareça algum sobrinho sem noção Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Março 27, 2013 É preciso fazer um select count passando o ID em questão, ou um simples select mesmo utilizando a clausula WHERE id='' .... após isso verifique com o mysql_num_rows() a quantidade de registro retornado para este ID, se for igual a 1 você faz o DELETE, nada de complicado nisso... :graduated: Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Março 28, 2013 Por favor se alguém puder me mostrar um exemplo ou criar o script me falem por favor pq ja falei que a ideia eu tenho não adianta me dizer o que eu ja sei como disse não sei como se faz por isso estou postando Obrigado desde de já a quem puder ajudar Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 28, 2013 Há uma diferença muito grande entre dar uma dica e fazer um serviço de graça. Você trabalha de graça ? Não né... Se vc quer uma ajuda, então tranquilo.. poste aí o que o vc tentou fazer e como está fazendo.. Do jeito que está pedindo dá impressão que vc quer tudo pronto sem fazer esforço, esperando algum bobo alegre fazer o seu serviço. Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Março 28, 2013 Cara esse é um forum aberto a todos se não vai ajudar não atrapalha, eu hiem parece que tem 5 anos não to te pedindo nada de graça aqui faz quem quer é um forum livre ok, se eu soubesse como fazer não tava pedindo nada, então tenha no minimo respeito por quem não sabe programar se é que alguem como vc tem educação. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Março 28, 2013 Vamos acalmar os ânimos. Feriadão chegando... nada de estresse. :assobiando: E aí Bobrinha, conseguiu fazer algo ? Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Março 28, 2013 Obrigado Alarete Bom eu fiz assim porem apaga com imagem não categoria ou não <?php $id = mysql_real_escape_string($_GET["id"]); $sql_imagens_check = mysql_query("SELECT imagem FROM imagens_uploads WHERE id_categoria='$id'"); if ($sql_imagens_check > 0){ echo "Desculpe você não pode apagar essa categoria por que existem imagens relacionadas a ela"; } else{ $sql = mysql_query("DELETE FROM imagens_categorias WHERE id='$id'"); } ?> Obrigado Alaerte Consegui :) tava faltando o que se falou num_rows nada complicado pra tu que é ninja eu passei 1 semana kkkkkkkkkkk <?php $id = mysql_real_escape_string($_GET["id"]); $sql_imagens_check = mysql_query("SELECT id_categoria FROM imagens_uploads WHERE id_categoria='$id'"); $imagens_check = mysql_num_rows($sql_imagens_check); if ($imagens_check > 0){ echo "Desculpe você não pode apagar essa categoria por que existem imagens relacionadas a ela"; } else{ $sql = mysql_query("DELETE FROM imagens_categorias WHERE id='$id'"); echo "<meta http-equiv='refresh' content='2;URL=?pagina=listarcategoriasimagens'>"; echo "<h3>Categoria apagada com sucesso!</h3>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Barantini 33 Denunciar post Postado Março 28, 2013 Parabéns. Viu só.. um pouco de esforço e vc se superou. Um ponto importante, se a regra do negócio diz "Se for maior que ZERO.." Isso significa que não precisa contar todos no SELECT. Adicione LIMIT 1 mysql_query("SELECT id_categoria FROM imagens_uploads WHERE id_categoria='$id' LIMIT 1"); Nesse trecho, verifique antes se o índice existe, pois está suscetível a erros. $id = mysql_real_escape_string($_GET["id"]); :seta: if( !isset( $_GET["id"] ) ){ echo 'Error: ID missing'; exit;}$id = mysql_real_escape_string($_GET["id"]); Desde que as tabelas estejam relacionadas não tem como deletar um registro se ela conter em outra tabela. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 1, 2013 Beleza, vejas as dicas do Hinom, é de suma importância. :yes: Compartilhar este post Link para o post Compartilhar em outros sites