Premetto che ho utilizzato mysql vers.4.0.15.
Lo script funziona ma dovendo cancellare un record devo eliminare tutti i record relativi a quell'id che sono presenti nelle altre tabelle.
Volevo sapere se con le ultime modifiche apportate a mysql è possibile eliminare "a catena" tutti i record correlati a un certo id
oppure se devo per forza procedere in questo modo.
P.S. Come si fa quando si posta del codice a dargli la formattazione (in termini di colore intendo) che si ha ad esempio usando DW e che vedo che tanti qui utilizzano.
Grazie in anticipo.
<?php
$idfamiglia = $_REQUEST['idfamiglia'];
if ($idfamiglia)
{
//Connessione al server mysql
$connessioneDB = @mysql_connect("$server","$user") or die("$errConnessione");
//Selezione del database
@mysql_select_db("$database") or die ("$errSelezione");
//Al fine di evitare la presenza di record 'orfani', qualora si decida di cancellare una famiglia
//bisogna eliminare anche tutti i record dalle altre tabelle relativi a quella famiglia nel caso
//esistano
$sqlinterr = "delete FROM datifamaffidat WHERE";
$sqlinterr.= " idfamiglia = '$idfamiglia'";
$query = mysql_query("SELECT * FROM datianagraficiaffidatari WHERE idfamiglia = $idfamiglia") or die(mysql_error());
$num = mysql_num_rows($query);
if ($num =='1')
{
$cancellazioneTabellaDatiAnagrafici = "delete FROM datianagraficiaffidatari WHERE idfamiglia = '$idfamiglia'";
mysql_query ($cancellazioneTabellaDatiAnagrafici) or die(mysql_error());
}
$query2 = mysql_query("SELECT * FROM daticonsultorioriferfamaffidat WHERE idfamiglia = $idfamiglia") or die(mysql_error());
$num2 = mysql_num_rows($query);
if ($num2 =='1')
{
$cancellazioneTabellaDatiOperatori = "delete FROM daticonsultorioriferfamaffidat WHERE idfamiglia = '$idfamiglia'";
mysql_query ($cancellazioneTabellaDatiOperatori) or die(mysql_error());
}
$query3 = mysql_query("SELECT * FROM precespfamaffidat WHERE idfamiglia = '$idfamiglia'") or die(mysql_error());
$num3 = mysql_num_rows($query);
if ($num3 =='1')
{
$cancellazioneTabellaDatiEsperAffido = "delete FROM precespfamaffidat WHERE idfamiglia = '$idfamiglia'";
mysql_query ($cancellazioneTabellaDatiEsperAffido) or die(mysql_error());
}
$query4 = mysql_query("SELECT * FROM servizicomune WHERE idfamiglia = '$idfamiglia'") or die(mysql_error());
$num4 = mysql_num_rows($query);
if ($num4 =='1')
{
$cancellazioneTabellaDatiServiziComune = "delete FROM servizicomune WHERE idfamiglia = '$idfamiglia'";
mysql_query ($cancellazioneTabellaDatiServiziComune) or die(mysql_error());
}
mysql_query ($sqlinterr) or die(mysql_error());
$num = mysql_affected_rows();
if ($num>0)
echo "<div align=\"center\"><font color=\"#3333CC\" size=\"+2\">Il record è stato cancellato</div>
";
else
echo "<div align=\"center\"><font color=\"#3333CC\" size=\"+2\">Il record non è stato cancellato</div>
";
mysql_close($connessioneDB);
}
else
echo "Non è stato selezionato alcun record
";
?>