Foros del Web » Programando para Internet » PHP »

Liberador de Buffer

Estas en el tema de Liberador de Buffer en el foro de PHP en Foros del Web. Buenas buenas ..... Me sucede lo siguiente(Para IE y MF, en Chrome corre bien de cualquier forma). Estoy haciendo multiples ejecuciones de consultas SQL una ...
  #1 (permalink)  
Antiguo 07/06/2012, 11:22
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Liberador de Buffer

Buenas buenas .....

Me sucede lo siguiente(Para IE y MF, en Chrome corre bien de cualquier forma).

Estoy haciendo multiples ejecuciones de consultas SQL una tras otra, por tanto recurro a mensajes que me indiquen cuendo comienza y cuando termina una consulta, usando las cualidades del flush(), ub_flush() y las demas funciones del Output Control.

Me sucede que si al for lo antecede una tabla ya el flush no funciona, pero si quito la tabla y dejo solo el for, el proceso corre de la forma adecuada.

Espero que alguien me de una pista de esto.
Muchas gracias por la atencion prestada.
  #2 (permalink)  
Antiguo 07/06/2012, 12:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Liberador de Buffer

tienes que revisar la salida que estás produciendo, porque si dejas una etiqueta rota el interprete html no lo mostrará adecuadamente, en el navegador o usas vista de código, o una consola tipo firebug
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/06/2012, 13:48
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Liberador de Buffer

Ok, gracias por responder.

Pues ya revise nuevamente y no tengo nada cortado(Me estoy aburriendo de las tablas) totas la eriquetas estan bien definidas.

le doy un ejemplo.
<tabla><celda><campo><imagen></campo></celda>
<celda><campo>"Ciclo para el for, echo, flush"</campo></celda>
</tabla>.

Si lo hago asi no me muestra nada hasta que el for no termine, pero si hago solo "Ciclo para el for, echo, flush", incluso puedo inclur tablas en el "echo y lo hace bien".

Mi vista de codigo es el mismo Dreamweaver, firebug no lo he usado.
  #4 (permalink)  
Antiguo 07/06/2012, 14:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Liberador de Buffer

eso es porque la estructura de una tabla es tabla->fila->celda, no tabla->celda:

Código HTML:
Ver original
  1.     <tr>
  2.         <td>celda</td>
  3.     </tr>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 07/06/2012, 15:49
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Liberador de Buffer

haaa, esque usted lo entiende de esa forma ??, bueno depronto diferentes terminos, pero la cuestion esque las equiqueteas las estoy escribiendo asi como usted lo escribio.
  #6 (permalink)  
Antiguo 07/06/2012, 16:32
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Liberador de Buffer

Puedes mostrar tu código que tienes para ayudarte mejor
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 07/06/2012, 19:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Liberador de Buffer

La cosa es como te dice @maycolalvarez, como la estructura la generas dentro de la tabla, por más que hagas el flush no se va a terminar de ver la tabla completa hasta que se encuentre el tag de cierre </table> es por eso que no ves nada hasta que se acaba de renderizar toda la tabla.

Saludos.
  #8 (permalink)  
Antiguo 07/06/2012, 20:21
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Liberador de Buffer

Buenas noches GatorV, Skiper y Mayco.

GatorV, esa parte la tengo clara por las pruebas que he realizo y por lo que me dicen, la cuestion es como solucionarlo o como hacer algo mejor.

Codigo como tal no lo pongo porque es muy largo y complicado explicarlo, pero voy a escribir algo mas claro.

Session ... (todo eso)
Código HTML:
<body>
<table><tr><td><img /></td></tr>
<tr><td>
for(....)
{
    //preparo la consulta (varias consultas).
    $consultaSQL = "SELECT ...... INTO TEMP X; INSERT SELECT X ...... ; etc";

    //Yo tengo una funcion que me realiza este proceso bien consulta por consulta
separando segun ";" eso no es problema, la cuestion esque por cada consulta 
quiero una mensaje de exito o de error, si tengo un error lo mato con "die()" y 
listo.

    //pero si no hay error quiero sacar el mensaje "<div>exito $n</div>"
"flush()" de las n consultas una a una }
</td></tr>
</table
</body> 
Si saco el for() de la tabla va bien, pero dentro la tabla no hace nada, solo anda bien en Chrome .

¿¿ lo separo y lo hago todo con div ??


Gracias por la atencion prestada.
  #9 (permalink)  
Antiguo 08/06/2012, 06:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Liberador de Buffer

por lo que veo, si el proceso falla provoca un die(), esto romperá completamente la tabla, y si no hay error vuelca un <div>exito $n</div>, el problema es ¿donde lo vuelca?, porque si no está dentro de un TD rompe la tabla, es por ello que le recomiendo que analice la salida HTML final, para verificar si algo rompe la tabla, por ejemplo un div entre table y tr, ya es cuestión de HTML y adaptar el script PHP para que no genere HTML roto.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #10 (permalink)  
Antiguo 08/06/2012, 07:03
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Liberador de Buffer

Ok Mayco, gracias.

Seguire probando, porque me da mamera volver a recrear el template que enmarca todo eso, de verdad es bastante extenso el codigo que ya tengo y se que es complicado explicar cosas asi como en el aire ..... muchas gracias bro.

GatorV, he visto por hay en otros temas creados que usted tiene mucha experiencia con las funciones del Output Control, tambien gracias por participar.
  #11 (permalink)  
Antiguo 08/06/2012, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Liberador de Buffer

Lo que puedes hacer de rápido, es, poner todo tu layout y donde va el contenido, poner un iframe, en ese iframe haces el proceso y así no importa tanto el layout general de la pagina...
  #12 (permalink)  
Antiguo 08/06/2012, 11:40
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Liberador de Buffer

sip, es una buena idea, por lo general no me gustan muchos los "iframe", pero en esta caso si es bueno usarlo.

Lo acoplare.

Gracias GatorV.

Etiquetas: flush
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 21:12.