Fijate que este es un problema muy comun, el calculo de fechas en PHP. Yo en lo particular usé un tiempo una solución Quick And Dirty en JavaScript para hacer tal cosa hasta que encontré por ahi un super script e PHP que se encarga de esas funciones tan molestas y necesarias.
La puedes bajar desde mi site
diff.php
Se usa de la siguiente forma:
Código PHP:
//Las fechas deberán tener un formato legible por la función
$SQL="SELECT DATE_FORMAT(a.fecha_inicio,'%d %M %Y'),";
$SQL.=" DATE_FORMAT(a.fecha_final,'%d %M %Y')";
$SQL.=" FROM Fechas a";
#Aqui se aplica la función
<?php echo(datediff('d', $row[0] , $row[1], false));?>Dìas de diferencia entre las dos fechas.
En el código de la función se pueden ver todo más explicado.
Saludos.