Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
como mostrar una pagina(html) parte por parte?

hola a todos, saludos, tengo la duda de como hacer para ir mostrando una pagina html parte por parte, es decir mi pagina tendra 3 tablas horizontales, una en seguida de otra, ahora bien, yo quisiera mostrar mi primer tabla en la pagina mientras voy procesando lo que voy a mostrar en la tabla de en medio, en seguida mostrar dicha tabla, procesar el contenido que voy a mostrar en la ultima tabla de abajo, y por ultimo mostrar la ultima tabla en la pagina html

...he escuchado que se podria hacer con la funcion flush, que deberia ir cargando en cache primero lo que quiero mostrar, pero la verdad es que no tengo algo preciso para hacer esto que explique, alguien me puede ayudar?, me pueden dar un ejemplo completo con la funcion flush y cache?
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"

Última edición por gabrielflowers fecha: 28-03-2008 a las 23:29:09.
Responder Con Cita
  #2  
Antiguo 31-03-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Por lo que leo, una solución es utilizar AJAX (esto es, combinar JavaScript con HTML dinámico y PHP). Busca información sobre el objeto JavaScript llamado "XMLHttpRequest". Un libro que puede ayudarte (a mi me ayudó) es "Introducción a Ajax con PHP (Programación)" de Lee Balbin (ISBN: 9788441522008).
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 31-03-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
hola Ñuño, oye gracias por tu aporte, pero yo busco una solucion por lado de php, y no de ajax o javascript, creo que mi pregunta lo dice todo; para lo que busco se que debo usar la funcion flush(); de php, pero no se exactamente como cargar primero mi cache con lo que voy a ir mostrando parte por parte, por eso quisiera que alguien me colabore con ejemplo de codigo php para tal efecto ya mencionado
pdta: gracias por la bibliografia recomendada
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"
Responder Con Cita
  #4  
Antiguo 31-03-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues en el manual de PHP tienes todo lo que puede saberse acerca de la función "flush()". Un ejemplo de uso, aunque ficticio, podría ser este:

Código PHP:
<?php

for($i 1$i <= 10$i++){
  echo 
"Valor de \$i = {$i} <br />";
  
flush();
  
sleep(1);
}

?>
Puedes verlo aquí funcionando, temporalmente. En realidad no hay mucho secreto. La función vacía los "bufferes" de salida acumulados, excepto en servidores bajo Windows, donde no parece funcionar, como puedes leer en la ayuda de la función que enlazo arriba.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 31-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Cita:
Empezado por gabrielflowers Ver Mensaje
pero yo busco una solucion por lado de php, y no de ajax o javascript
Pero a veces es más adecuado buscar una solución, sin atarnos a una idea. Por ejemplo, el ejemplo que muestra dec funciona perfectamente en FireFox, más no en IE. Y es que flush(), como se indica en la misma página del manual, depende de muchas cosas: del servidor, de módulos de apache (si usas apache), del navegador y ¡hasta del antivirus! que tenga instalado el cliente.

Claro que una solución basada en ajax será dependiente de que el navegador tenga activado el uso de javascript, pero resultan siendo menos elementos de dependencia que el uso de flush. En mi opinión.

Bye
Responder Con Cita
  #6  
Antiguo 31-03-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
hey keyboy, no es que me ate a una idea, sino que tu bien lo has dicho el uso de ajax depende de que el cliente lo tenga habilitado en su navegador, y justamente lo que buscamos en este proyecto para el cual estoy desarrollando es que el servidor controle todo lo posible, tratando de no usar mucho javascript...
gracias de todos modos
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"

Última edición por gabrielflowers fecha: 01-04-2008 a las 21:30:28.
Responder Con Cita
  #7  
Antiguo 01-04-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Bueno, lo del flush sí, funciona. Lo que pasa es que yo creo que es más para cosas como esta:
Código PHP:
 (...)
foreach (
$ListaElementos as $Elemento) {
  
funcion_que_genera_salida ($Elemento);
  
$Cnt++;
  if ((
$Cnt &#37; 100) == 0) flush (); # Cada cien elementos, envía al cliente.
}
 (...) 
Se me perdona entonces, ¿no?

[edit] ¿Por qué no se ve el porciento (37 = %)?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 01-04-2008 a las 10:04:55.
Responder Con Cita
  #8  
Antiguo 01-04-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Bueno, lo del flush sí, funciona.
Ya. Y esto, ¿cómo lo has determinado?

Bye
Responder Con Cita
  #9  
Antiguo 01-04-2008
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Usetedes me perdonarán, pero yo creo que una web que necsite de usar flush o cosas parecidas es poruq eno debe estar muy bien pensada. Quiero decir que si la cosa está bien estudiada el usuario pone una url, y el servidor no debería devolver un chorro muy grande de bytes. Hablo de aplicaciones web que no sea cosas raras.

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #10  
Antiguo 01-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo lo del "flush()" lo aprendí aquí en el ClubDelphi, de la mano de Emilio, en un "script" que servía para ver si determinados puertos de un ordenador estaban abiertos o no. El uso de "flush()" en este caso servía para mostrar una especie de "progreso de la tarea", puesto que, por cada puerto procesado, se mostraba (acto seguido, cuando "flush()" funcionaba) se mostraba su estado correspondiente. Desde entonces lo he usado para estos menesteres.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 02-04-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
oye julian, tu comentario me parece errado;
veras, me encuentro en un proyecto desarrollando un sistema de informacion en ambiente web,y se me presento este caso que mencione,lo que pasa es que en un sistema informatico conviene ir mostrando quizas de a poco o parte por parte la interfaz de usuario mientras va procesando internamente algo, caso contrario el usuario final se desesperaria a la espera que el sistema muestre algo, creo que ms windows maneja bien este tema, pues mientras carga el SO, va mostrandonos en pantalla un mensaje que dice cargando sistema o algo asi y ese es mas o menos mi caso, que como veras no es que mi aplicacion este mal pensada, si no mas bien que lo hago pensando en la psicologia del usuario final
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"

Última edición por gabrielflowers fecha: 02-04-2008 a las 00:41:16.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo mover un label a cualquier parte de la página maximo_nashir PHP 1 12-08-2007 03:13:53
Como pasar la parte decimal de una variable maravert Varios 1 30-10-2006 20:30:11
codigo c++ a VB.net, como saber que parte es igual a VB.net sakuragi .NET 2 05-10-2005 15:45:31
Mostrar un TMonthCalendar o parte de este fuera de la forma que lo contiene Ictiandro OOP 3 20-08-2005 18:05:23
como copiar parte de una cadena ? saul saldaña Varios 4 04-12-2003 18:20:36


La franja horaria es GMT +2. Ahora son las 13:33:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi