Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Latino Heat en 14 Octubre 2008, 21:39 PM

Título: ¿Donde esta el error?
Publicado por: Latino Heat en 14 Octubre 2008, 21:39 PM
Estoy haciendo un pequeño script en el cual no se donde cometo el error.

Código (php) [Seleccionar]
if($Research){
$StartTime=floor(time());
$EndTime=$StartTime+120;

$Ins_query="UPDATE buildings SET tresearch='".date("h:i:s",$StartTime)."', tfinish='".date("h:i:s",$EndTime)."', tbusy='1' WHERE id='1'";
mysql_query($Ins_query) or die('Fallo al insertar valores');

echo "Empezo a las: ".$row[tresearch]."<br>";
echo "Termina: ".$row[tfinish]."<br>";
}
$FinishTime=$row[tfinish]-floor(time());

echo "Faltan: ".date("h:i:s",$FinishTime);
?>


Me muestra estos resultadosn de ejemplo:

Empezo a las: 03:34:26
Termina: 03:36:26
Faltan: 11:25:37    <-------- ESTE ES EL PROBLEMA

Porque me muestra esa cantidad de horas si solo son 2 minutos de diferencia, lo que deseo es que me muestre algo como: 00:02:00; Espero se me entienda.
Título: Re: ¿Donde esta el error?
Publicado por: ShakaS en 16 Octubre 2008, 03:26 AM
probaste en la linea:

$FinishTime=$row[tfinish]-floor(time());

cambiarlo a:

$FinishTime=$row[tfinish]-$row[tresearch];

estarias restando el fin por el inicio osea te queda la diferencia...
Título: Re: ¿Donde esta el error?
Publicado por: Ertai en 16 Octubre 2008, 07:55 AM
Prueba de hacerlo todo con UNIX Timestamp, agarra los datos en ese formato desde la SQL y luego restale time(), y tendrás los segundos que quedan.
Título: Re: ¿Donde esta el error?
Publicado por: Latino Heat en 17 Octubre 2008, 21:57 PM
Gracias a los dos, probare ambas respuestas