Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Calcolo tempo disponibile

    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

  2. #2

  3. #3
    io personalmente non ci capisco molto da quel codice, ma non vedo un punto in cui tu ti chiedi se il volontario è cambiato o meno... immagino che sia quando fai "select * from users", ma se non ti chiedi "ma questo utente è diverso da quello che usavo prima?" allora non vedo come tu possa azzerare la variabile che ti interessa
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.