Foros del Web » Programando para Internet » PHP »

Bucle comparando segundos

Estas en el tema de Bucle comparando segundos en el foro de PHP en Foros del Web. Hola, intento que me vaya imprimiendo los segundos pasados pero no hay manera, se engancha en un bucle y no me muestra nada, bueno solo ...
  #1 (permalink)  
Antiguo 11/10/2005, 07:58
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Bucle comparando segundos

Hola, intento que me vaya imprimiendo los segundos pasados pero no hay manera, se engancha en un bucle y no me muestra nada, bueno solo lo que hay fuera del while. Se supone que debería imprimir los segundos actuales a cada pasada no? Se queda enganchado.

Código PHP:
<?
$actual 
time();
$pasado time()+300;

echo 
"Ahora son: ".date('G:i:s'$actual)."<br>";
echo 
"En 5 min. sera: ".date('G:i:s'$pasado)."<br>";

while(
$actual $pasado){
echo 
date('s',$actual);
}
//$sql = "DELETE FROM regis_sesis WHERE fecha < $pasado";
?>

Última edición por tralara; 11/10/2005 a las 08:06
  #2 (permalink)  
Antiguo 11/10/2005, 08:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No, .. así no trabaja PHP por defecto.

PHP genera tu "página HTML" (lo pongo entre comillas por qué en realidad no es "HTML" sólo sino cualquier "salida" que tu script genere, y eso depende del "cliente" y de lo que compongas: HTML normalmente para un navegador .. pero podría ser XML, etc ...) resultante hacia un buffer, cuando tu script termina su ejecución ahí se entrega el buffer de salida al cliente (tu navegador en tu caso) ..

PHP dispone de funciones para "forzar" a que entregue todo lo que tenga en el buffer de salida cuando lo quieras .. por ejemplo:

flush()
www.php.net/flush

Tendrías que usarlo justo antes de tu "echo" que tienes en tu bucle.

Por lo demás .. esto tampoco te asegura que sea "fiel" la entrega del buffer de salida .. algunos navegadores no empiezan a interpretar su parte (lo que reciben) hasta cierta cantidad de bytes recibidos .. además que lo que "envias" por este método es poco controlable.

Deberías usar otras técnicas como por ejemplo lo que está de moda hoy en día: AJAX (que disponemos un foro temático para tal fin) e implementarlo con esas técnicas.

Un saludo,
  #3 (permalink)  
Antiguo 11/10/2005, 10:54
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Pruebo lo que dices del flush().

El tema del ajax lo tengo presente para nuevas aventuras.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.