Remover um registo da BD

xpto1987

Membro
Boas...
Tenho um script para remover um registom da BD mas nao elimina...Gostaria que me ajudassem...

<?php
include("global.inc");

$matricula = @$_POST['matricula'];

//$num_via = mysql_query("SELECT * FROM viatura WHERE matricula='$matricula'");
$num_repvia = mysql_query("SELECT * FROM reparacoesviatura WHERE matricula='$matricula'");
$num_pervia = mysql_query("SELECT * FROM percursoviatura WHERE matricula='$matricula'");
$num_abasvia = mysql_query("SELECT * FROM abastecimentoviatura WHERE matricula='$matricula'");
$output_string="";

if(@$_GET['acao']=="gravar") {
if($matricula == "" ){
$output_string="* Indique a matricula da viatura que pretende apagar!!!";
}

else{
if(!(mysql_num_rows($num_repvia)) OR !(mysql_num_rows($num_pervia)) OR !(mysql_num_rows($num_abasvia))) {
mysql_query("DELETE FROM viatura WHERE matricula = $matricula");
echo "<script>alert('A eliminação foi efectuada com sucesso')</script>";
echo "<script> window.location = 'nada.php ';</script>";
}
else{
$output_string="* Impossivel apagar a viatura com a matricula $matricula !!!";
}
}
}
?>



Obrigado
Cump´s
 
oias,

olha tenta subsitituir a linha

if(!(mysql_num_rows($num_repvia)) OR !(mysql_num_rows($num_pervia)) OR !(mysql_num_rows($num_abasvia)))

por esta

if((mysql_num_rows($num_repvia)) || (mysql_num_rows($num_pervia)) || (mysql_num_rows($num_abasvia)))


pelo que entendi do teu código, a tua linha, como tinhas, esta a verificar se nao existissem resultados às queries que fizesses ele apagava... mas existindo resultados ele passava para o else seguinte e mostraria uma mensagem de impossibilidade de apagar a viatura com aquela matrícula!

atenção, se entendi o teu código e a tua intenção!

espero ter ajudado qq coisa!
 
Boas,
a intenção era mesmo verificar se nao existem resultados...
Mas ja vi onde era o erro...

mysql_query("DELETE FROM viatura WHERE matricula = '$matricula'");


faltava as plicas...
mas obrigado pela ajuda..
 
Back
Topo