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