Foro de elhacker.net

Programación => 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
  1. if($Research){
  2. $StartTime=floor(time());
  3. $EndTime=$StartTime+120;
  4.  
  5. $Ins_query="UPDATE buildings SET tresearch='".date("h:i:s",$StartTime)."', tfinish='".date("h:i:s",$EndTime)."', tbusy='1' WHERE id='1'";
  6. mysql_query($Ins_query) or die('Fallo al insertar valores');
  7.  
  8. echo "Empezo a las: ".$row[tresearch]."<br>";
  9. echo "Termina: ".$row[tfinish]."<br>";
  10. }
  11. $FinishTime=$row[tfinish]-floor(time());
  12.  
  13. echo "Faltan: ".date("h:i:s",$FinishTime);
  14. ?>

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