Foros del Web » Programando para Internet » PHP »

mensaje cargando

Estas en el tema de mensaje cargando en el foro de PHP en Foros del Web. Hola, necesito hacer que mientras estoy cargando datos desde una base de datos mysql me muestre un mensaje que diga "cargando los datos" y luego ...
  #1 (permalink)  
Antiguo 13/11/2003, 09:49
 
Fecha de Ingreso: septiembre-2003
Ubicación: Maipú, Santiago, Chile, America del Sur, Planeta Tierra
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta mensaje cargando

Hola,

necesito hacer que mientras estoy cargando datos desde una base de datos mysql me muestre un mensaje que diga "cargando los datos" y luego (una ves que termine la consulta) me muestre los datos, es que tengo algunas consultas sql que se demoran un tiempo considerable.

¿alguien me puede ayudar con esto?


gracias
  #2 (permalink)  
Antiguo 16/11/2003, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrias usar el buffer de salida de PHP .. forzandolo a que muestre lo que tenga en el momento que quieras con flush():

Código PHP:
<?
echo "Estoy cargando datos";
flush();

// ejecutas tus consultas a tu BD

echo "ya terminé";
flush();
?>
De esta forma .. se entrega al navegador (dispositivo de salida) ese "HTML" acomulado que tiene PHP generado .. y continua con su proceso. PHP por defecto no entrega el "HTML" generado hasta que no termina el script .. por eso habría que "forzarlo" como te comento.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/11/2003, 13:29
 
Fecha de Ingreso: septiembre-2003
Ubicación: Maipú, Santiago, Chile, America del Sur, Planeta Tierra
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
como forzarlo?

a que te refieres con forzarlo, con el codigo que pusiste no funciona.




help me, please
  #4 (permalink)  
Antiguo 18/11/2003, 14:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
flush() de PHP enviar lo que tenga en el buffer de salida al navegador (salida) ...

A mi me funciona perfectamente. Es más .. uso un bucle de proceso largo (enviar e-mails) y a cada pasada del bucle hago un "echo" con un mensaje y a continuación su flush() para entregar al navegador lo que tenga hasta el momento.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 18/11/2003, 14:29
 
Fecha de Ingreso: octubre-2003
Ubicación: FMSite
Mensajes: 336
Antigüedad: 14 años, 1 mes
Puntos: 2
hmmm, ami tampoco me va :0

esto es lo qu epuse:

Código PHP:
<?
echo "Estoy cargando datos";
flush();
?>
<table>
<? 
CONSULTA BBDD ?>
<tr><td>
<? datos ?>
</td></tr><? ?></table><? echo "ya terminé";
flush();
?>
Esque lo que tengo duda es con si debo meter el último flush() dentro de la consulta o así está bien :s

asolar perdoname.
__________________
http://www.fmsite.net/
  #6 (permalink)  
Antiguo 18/11/2003, 14:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La primera llamada a flush() entregará lo que se generó con el primer echo "Estoy cargando datos" .. y el segundo todo el resto acomulado de HTML que tengas .. que, si está al final del proceso da igual usarlo que nó pues al terminar el script ya PHP entrega el "buffer" de salida.

A todo esto flush no tiene en cuenta tiempos de carga de la página en sí y ni mucho menos de como va a interpretar el HTML incompleto si se le envia al navegador (ejemplo .. una definición de una tabla HTML sin cerrar tag de </table> .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:09.