Foros del Web » Programando para Internet » PHP »

Detener WHILE

Estas en el tema de Detener WHILE en el foro de PHP en Foros del Web. Intento hacer un programa que lea de un fichero de texto una linea, la asigne a una variable y ejecute otro progrma donde la imprima. ...
  #1 (permalink)  
Antiguo 17/11/2004, 11:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Detener WHILE

Intento hacer un programa que lea de un fichero de texto una linea, la asigne a una variable y ejecute otro progrma donde la imprima.
Como son varias las lineas a leer he creado una estructura while para que recorra el fichero antes de encontrar el final (!foef).
El problema es que ejecuta todo el while y solo saca la ultima linea.
¿Existe alguna manera de detener la estructura while para que ejecute uno a uno?
  #2 (permalink)  
Antiguo 17/11/2004, 11:11
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 14 años, 9 meses
Puntos: 0
porque no pides lo que tienes que pedir en la consulta y despues en el while le pones un if de lo que quieres buscar? es asi? o yo no entendi bien...
__________________
Ignacio
  #3 (permalink)  
Antiguo 17/11/2004, 11:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En principio tienes la instrucción:

break;

para "romper" o salir de un bucle .. Pero, sería recomendable que pusieras el código que usas para ver donde tendrías que usarlo .. Si es que es eso lo único que necesitas. Explica lo que haga ese código.

Un saludo,
  #4 (permalink)  
Antiguo 17/11/2004, 11:26
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
A lo mejor me explicado mal. Del fichero de texto leo por ejemplo el dni y luego con ese dato ejecuto la consulta, creo una tabla y la imprimo.
Imaginate que hay 1000 dni, y ejecutarlos uno a uno seria imposible. Si ejecuto la consulta con todos (con un while) se me van acumlando uno debajo de otro, y necesitaría imprimir uno a uno para lo cual necesitaria parar el while. Si lo desde un formulario los ejecuta todos peros solo me muestra el ultimo.

¿que puedo hacer para ejecutar todas automaticamente pero que salgan de una en una?
  #5 (permalink)  
Antiguo 17/11/2004, 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
(insisto) Deberías indicar el código que usas para hacerse una idea de lo que estás haciendo ..

No sé a que te refieres con "uno a uno" .. uno a uno bajo que condición?

Ya te he comentado que el break .. sale de tu bucle .. un exit del script y si quieres una "pausa" podrías usar sleep() .. pero, PHP bajo este tipo de ambiente "web" NO es para que lo uses así ..

Tal vez lo que requieras es implementar un sistema de "paginado" para ir moviendote por los resultados que obtienes.

Un saludo,
  #6 (permalink)  
Antiguo 17/11/2004, 12:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
No utilizo el php para web, sino para sacar consultas de una base de datos oracle.
¿Como se implementaria un sistema de paginado?
  #7 (permalink)  
Antiguo 17/11/2004, 13:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok ... pues entonces podrías usar:

sleep() para detener la ejecución de tu script por el instante (segundos) que requieras o implementar cualquier otro método para esperar cierta confirmación del usuario para "continuar" .. hacer un "prompt" y esperar .. (no sé como hacerlo .. no uso PHP bajo CLI)

(PD: Deberías haber explicado desde un primer momento que usas PHP bajo "CLI" Comand Line Interface. Para otra vez .. intenta mencionar ese detalle si corresponde) ...

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 13:07.