Metti anche l'ora?
Cioè se fai:
codice:
select timediff("2008-08-05 00:00:00", "2008-08-02 00:00:00")
funziona (restituisce 72:00:00)
mentre se fai
codice:
select timediff("2008-08-05", "2008-08-02")
non funziona.
In PHP faresti:
Codice PHP:
$query = "SELECT TIMEDIFF(campo1, campo2) AS diff FROM tabella";
$res = mysql_query($query);
$row = mysql_fetch_array($res);
$diff = split($row['diff'], ':');
$ore = $diff[0];
$min = $diff[1];
$sec = $diff[2];
Poi applichi il resto che ti ho scritto sopra.
Nota che se non te ne frega niente di ore minuti e secondi, ma vuoi solo i giorni di differenza puoi usare DATEDIFF invece di TIMEDIFF (e puoi trovare mesi e anni con lo script di sopra)