...
1.-
$actual = date('Y-m-d').'<br>';: No le metas HTML.. supongo lo que quieres es asignarle el valor de la fecha.
2.-
$anterior =$_POST['$fecha'];: ¿no '
$fecha' es dato sacado de la BD???, ¿qué tiene que hacer ahí??; $_POST es para recojer un formulario
....
3.-
explode(' ', $actual);: Tú mismo le diste valor a '
$actual', y no metiste espacios. Con esto no haces nada... por consecuencia todo lo que se refiere a desglozar la "hora" ahí mismo viene sobrando... no existe tal! (y recuerda que traes HTML).
4.- Los pricesos matemáticos estan pensados (si funcionaran) para sacar la diferencia en años (hasta el nombre de la variable así lo da a entender)... saca cuentas (cuantos segundos tiene un día?)
5.- Existen mejores maneras para hacer el cálculo. Ve la función
strtotime() ó, mejor aún, con SQL y la función
DATEDIFF().
Con SQL:
Código:
SELEC DATEDIFF(CURDATE(), 'campo_fecha') AS dias FROM tabla
Con PHP:
Código PHP:
echo date('d', strtotime("now")-strtotime($fecha));
Suerte!
.