Foros del Web » Programando para Internet » PHP »

Funciones de Manejo de Buffer

Estas en el tema de Funciones de Manejo de Buffer en el foro de PHP en Foros del Web. Alguno ha utilizado las funciones de manejo de buffer para ir mostrando data en pantalla a medida que se va generando de la bd?...
  #1 (permalink)  
Antiguo 27/04/2005, 12:37
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Funciones de Manejo de Buffer

Alguno ha utilizado las funciones de manejo de buffer para ir mostrando data en pantalla a medida que se va generando de la bd?
  #2 (permalink)  
Antiguo 27/04/2005, 12:41
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
-------- si
  #3 (permalink)  
Antiguo 27/04/2005, 12:57
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
n_merchan:
Bienvenido al foro!
Deberías ser un poco más explícito en el tema.
Si quieres simplemente que armemos una buena discusión, entonces enfócala.
Si tienes algún problema con esas funciones, detállalo para poder ayudarte.

Si no, sólo obtendrás respuestas como la de sism82.

Saludos
  #4 (permalink)  
Antiguo 27/04/2005, 13:26
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

No regañen a mi amiga que esta llegando (Además que esta como quiere jejeje)

__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #5 (permalink)  
Antiguo 27/04/2005, 13:28
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Aclaratoria

Estoy intentado usar, según ejemplos mostrados en la pagina de PHP, las funciones de manerjo de buffer (ob_start, flush(), etc) para mostrar poco a poco en pantalla el resultado de un query extremadamente grande, porque el usuario desea ir viendo los registros mientras se termina de generar todo. Sin embargo, el uso de estas funciones no me ha traido ningun resultado satisfactorio, es decir, hasta que no esta generado completamente todo el codigo, este no se muestra en pantalla. Quería saber si han utilizado estas funciones en casos similares, si les ha arrojado resultado satisfactorios, y si tenian ejemplos ...
  #6 (permalink)  
Antiguo 03/05/2005, 08:06
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Bien, ya que nadie logro contestar, te voy a tratar de "orientar" un poco.

Lo más posible sea que los registros que estas mandando a imprimir esten dentro de una tabla HTML y que cada registro de tu DB sea un TR de tu tabla.

El navegador no muestra nada hasta que este completamente armada la tabla.

Idea??

Has que cada registro de tu DB sea una TABLA HTML independiente.

Seguramente así obtendrás mejores resultados con tu flush().

Suerte.

PD: Si ustedes la vieran... ufffffffff
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #7 (permalink)  
Antiguo 03/05/2005, 12:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio puedes usar flush() a cada pasada de tu bucle que supongo que usaras para ir ingresando datos a tu BD? .. o es una consulta SQL tal que tarda de por sí mucho tiempo en ejecutarse? .. aclaraló por qué en este último caso no se puede tener control sobre el proceso integro de SQL (de tu BD al ejecutarlo).

psudocódigo:

Código PHP:
$contador=0;
bucle(){
echo 
$contador;
flush();
$contador++;

Pero todo esto depende también de configuración de PHP sobre como gestiona el buffer de salida . .si hace compresión .. Y también detalles sobre el navegador que usas para mostrar esos datos .. por qué hay algunos (dicen) como IE que si no recibe más de N bytes (no recuerdo cuantos) no hace nada .. así que un "1" .. luego un "2" .. etc (del ejemplo) nunca llegará a ese mínimo de datos y por ende no se comportará el buffer de salida de PHP como esperas.

Un saludo,
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 09:14.