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

";
?>