Codice PHP:
//disponibilità
$query "SELECT * FROM disponibilita WHERE data = '$year_now-$month_now-05' GROUP BY volontario";
$result mysql_query($query$db);
while (
$row mysql_fetch_array($result)) {
$num05++;
$id_disponibilita05 $row["id"];
$id_volontario05 $row["volontario"];
 
//Nome volontario 
$query2 "SELECT * FROM users WHERE id = '$id_volontario05'";
$result2 mysql_query($query2$db);
$row2 mysql_fetch_array($result2);
$nome_volontario05 $row2["nome"];
$cognome_volontario05 $row2["cognome"];
 
//orari disponibilità 
$numora05 0;
$query4 "SELECT * FROM disponibilita WHERE data = '$year_now-$month_now-05' and volontario = '$id_volontario05'";
$result4 mysql_query($query4$db);
while (
$row4 mysql_fetch_array($result4)) {
$numora05++;
$dalle_volontario05 $row4["da"];
$alle_volontario05 $row4["a"];
 
//timestamp disponibilità 
$data05 "$year_now-$month_now-05 $dalle_volontario05:00";
$timestamp_dalle05 mktime(getHour($data05),getMinutes($data05),getSeconds($data05),getMonth($data05),getDay($data05),getYear($data05));
$data05b "$year_now-$month_now-05 $alle_volontario05:00";
$timestamp_alle05 mktime(getHour($data05b),getMinutes($data05b),getSeconds($data05b),getMonth($data05b),getDay($data05b),getYear($data05b));
//disponibilità totale 
$differenza_disp05 $timestamp_alle05 $timestamp_dalle05 3600;
 
//servizi 
$query6 "SELECT * FROM servizi WHERE data = '$year_now-$month_now-05' and volontario = '$id_volontario05'";
$result6 mysql_query($query6$db);
$servizi_volontario05 mysql_num_rows($result6);
 
if (
$servizi_volontario05 0) {
$query3 "SELECT * FROM servizi WHERE data = '$year_now-$month_now-05' and volontario = '$id_volontario05' and da >= '$dalle_volontario05' and a <= '$alle_volontario05'";
$result3 mysql_query($query3$db);
while (
$row3 mysql_fetch_array($result3)) {
$dalle_servizi05 $row3["da"];
$alle_servizi05 $row3["a"];
 
//timestamp servizi 
$data_servizi05 "$year_now-$month_now-05 $dalle_servizi05:00";
$timestamp_dalle_servizi05 mktime(getHour($data_servizi05),getMinutes($data_servizi05),getSeconds($data_servizi05),getMonth($data_servizi05),getDay($data_servizi05),getYear($data_servizi05));
$data_servizi05b "$year_now-$month_now-05 $alle_servizi05:00";
$timestamp_alle_servizi05 mktime(getHour($data_servizi05b),getMinutes($data_servizi05b),getSeconds($data_servizi05b),getMonth($data_servizi05b),getDay($data_servizi05b),getYear($data_servizi05b));
//totale ore di servizio nella fascia oraria 
$differenza_servizi05 $timestamp_alle_servizi05 $timestamp_dalle_servizi05 3600;

//differenza disponibilità - servizi 
$differenza_totale05 += $differenza_disp05 $differenza_servizi05 3600;
}
//riconverto in ore
$tempo_disp05 date('H:i',$differenza_totale05);
} else {
$tempo_disp05 "";
}
}
 
if (
$numora05==1) {
$orari05 "";
}
 
$orari05 .= "Dalle $dalle_volontario05 alle $alle_volontario05 $tempo_disp05

"
;


praticamente devo annullare $differenza_totale05 quando cambia volontario, ho provato "" e unset ma niente