Foros del Web » Programando para Internet » PHP »

Cargar imagen de Espera ... como!!!

Estas en el tema de Cargar imagen de Espera ... como!!! en el foro de PHP en Foros del Web. Hola, Desde una página php lanzo un proceso sobre la base de datos MySQL que es un bucle donde realiza bastantes UPDATES, el tema es ...
  #1 (permalink)  
Antiguo 09/08/2004, 07:16
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 1 mes
Puntos: 0
Cargar imagen de Espera ... como!!!

Hola,

Desde una página php lanzo un proceso sobre la base de datos MySQL que es un bucle donde realiza bastantes UPDATES, el tema es que yo lo que quiero es mostrar un gif animado, que ya tengo, que es una barra de progreso que indica que el proceso se está realizando, así evito que el usuario pueda pensar que el navegador se ha quedado colgado, ya que suele tardar 30 segundos.

El problema está en que primero aunque le digo que muestre la imagen, primero realiza las operaciones de update, luego refresca y muestra la imagen pero claro el proceso ha concluido con lo que no me vale de nada.

Alguna idea? Mil Gracias.
  #2 (permalink)  
Antiguo 10/08/2004, 03:03
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 1 mes
Puntos: 0
Alguna idea, please.
  #3 (permalink)  
Antiguo 10/08/2004, 08:22
 
Fecha de Ingreso: mayo-2003
Ubicación: no
Mensajes: 65
Antigüedad: 20 años, 10 meses
Puntos: 0
Postealo en el foro de javascript
__________________
Quieres mas o te guiso un huevo
  #4 (permalink)  
Antiguo 10/08/2004, 08:42
Avatar de cadec  
Fecha de Ingreso: junio-2004
Mensajes: 278
Antigüedad: 19 años, 8 meses
Puntos: 0
Un Popup Cuando inicie el Proceso Te ayudaria?
cual es el Sitio?
  #5 (permalink)  
Antiguo 10/08/2004, 21:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
PHP es así ..

PHP no devuelve el control al script (tu programación y por ende tu salida al buffer de salida de PHP) hasta que termina el proceso.

Podrías usar:

Código PHP:
<img src="tu.gif">
<?
// Forzar a enviar todo lo que tenga PHP en su buffer de salida en este punto
flush();

//tu proceso con tu BD y bucle

echo "Terminé";
?>
y abrir ese proceso (script.php) en un popup a ser posíble.

Un saludo,
  #6 (permalink)  
Antiguo 11/08/2004, 00:31
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 1 mes
Puntos: 0
He probado flush(); y me funciona. Pero me parece más interesante la opción del pop-up, pero tengo un problemilla lanzao una ventana emergente con el gif animado pero cuando termina el proceso como mato (cierro) el popup.

gracias.
  #7 (permalink)  
Antiguo 11/08/2004, 07:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Si ya has abierto el popup donde ya muestras tu "gif" ... puedes hacer un "close()" de javascript. Es decir .. en lugar de lanzar el mensaje "ya terminé" .. usarás tu javascript:

Código PHP:
echo "<script languaje=\"javascript\">window.close()</script>"
Un saludo,
  #8 (permalink)  
Antiguo 13/08/2004, 03:14
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 1 mes
Puntos: 0
Pero yo lo que queria hacer es lo siguiente, desde la página principal abro el popup:

<SCRIPT LANGUAGE="Javascript"> window.open("popup.htm","_blank","toolbar=no,width =90,height=20,directories=no,status=no,scrollbars= no,resize=no,menubar=no");
</SCRIPT>

Pero luego desde está misma página quiero cerrar esa ventana, claro y si hago
window.close();
se me cierra la principal.

Tengo control para cerrar el popup?
  #9 (permalink)  
Antiguo 13/08/2004, 03:38
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 22 años, 2 meses
Puntos: 0
El window.close() deberia ir en el popup donde realizas tus procesos, asi al fnalizar el ultimo se ejecutaria el echo que propone cluster y cerraria esa ventana, no la prin cipal.
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------
  #10 (permalink)  
Antiguo 13/08/2004, 03:49
 
Fecha de Ingreso: febrero-2003
Mensajes: 47
Antigüedad: 21 años, 1 mes
Puntos: 0
Claro, me lo he imaginado que queria decir eso. Pero, yo queria que cuando el popup terminase (último registro actualizado, cierro la ventana) en la pagina principal haya un texto que indique que el proceso a finalizado correctamente.

pasos:

1.- (PAG. PRINCIPAL) ¿Desea realizar la actualización? Botón Si. (Lanzo el popup)

2.- (PopUP) Muestro el gif animado, hace la actualización.

3.- (PopUP) Termina y se cierra

4.- (PÁG. PRINCIPAL) La actualización se ha realizado correctamente.

Espero que entendaís lo que quiero hacer.

Gracias.
  #11 (permalink)  
Antiguo 13/08/2004, 04:11
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 22 años, 2 meses
Puntos: 0
En ese caso en vez de cerrar automaticamente pon un

Código PHP:
<a href="javascript::window.close()">Cerrar</a
y el popup te mostrara que finalizo los procesos y tu podras cerrar la ventana manualmente.

o bien pon un textfield en la ventana principal que diga "Procesando..." cuando comience a realizar el proceso el popup, una vez que el popup se cierre haces un

Código PHP:
<script language="javascript">
window.opener.form.textfield.value 'Proceso Finalizado correctamente';
window.close();
</script> 
esto en el codigo del popup.

Tal vez te sirvan mis propuestas, me quedaria con la ultima eso si.
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------
  #12 (permalink)  
Antiguo 13/08/2004, 04:20
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 22 años, 2 meses
Puntos: 0
Olvidaba...

El textfield debe llamarse textfield para mi ejemplo, obviamente tu puedes alterar esa informacion a tu gusto, asimismo como el form en la pagina principal.
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------
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 11:50.