Fare internet

E' come il lego, più pezzi ho più sono allegro
Seguci su Facebook Seguici su Twitter Iscrivita ai nostri Feed      Mandaci una mail

PHP e Mysql: calcolare la differenza tra due date.

Scritto da Fare-internet il 2 dicembre 2010 condividi condividi

In questo articolo avevamo già visto come è possibile calcolare la differenza tra due date, e avevamo visto come tramite una serie di trucchetti riuscivamo a tornare la differenza espressa in giorni.

Ora vogliamo usare un altro “trucco”, ossia vogliamo sfruttare la funzione DATEDIFF() del MySql.
Per questo ci basta produrre una query del tipo:

SELECT DATEDIFF(‘2010-11-30′,’2010-12-31’);

La cosa a cui dobbiamo prestare attenzione è il formato della data gradito a MySql, ossia aaaa-mm-gg, quindi quello che dobbiamo fare è trasformare la data e creare la query.
Faremo tutto in una funzione MySqlDate(), che prenderà come parametri due date nel fromato gg/mm/anno:

function MySqlDate($d1,$d2){
    $arrD1 = split(‘/’,$d1);
    $arrD2 = split(‘/’,$d2);
   
    // "giro" la prima data
    $d1 = $arrD1[2]."-".$arrD1[1]."-".$arrD1[0]);
    // "giro" la seconda data    
    $d2 = $arrD2[2]."-".$arrD2[1]."-".$arrD2[0]);
   
    // costruisco la query
    $query = "SELECT DATEDIFF(‘2010-11-30′,’2010-12-31’) AS dayDiff;";
   
    if($resQ && mysql_num_rows($resQ)==1){
        $row = mysql_fetch_assoc($resQ);
        return $row[‘dayDiff’];
    } else {
        die("errore database");
    }
}

Nello sviluppo della funzione abbiamo supposto di essere già connessi a server MySql

Sei interessato ad un corso di PHP a Roma?

Twitter