Foros del Web » Programando para Internet » PHP »

Bucle condicional

Estas en el tema de Bucle condicional en el foro de PHP en Foros del Web. Buenas a todos. Soy nuevo en el foro y empiezo mi andadura con una duda de la cual necesitaría ayuda. Estoy montando una web local ...
  #1 (permalink)  
Antiguo 26/03/2014, 13:50
 
Fecha de Ingreso: marzo-2014
Ubicación: Silla (Valencia)
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Bucle condicional

Buenas a todos. Soy nuevo en el foro y empiezo mi andadura con una duda de la cual necesitaría ayuda.

Estoy montando una web local en la empresa para información y control interno. Todo lo tengo hecho con PHP y estoy enredado con un problema del que no consigo salir.

Os explico:

1. Desde un menú independiente situado en un php, puedo grabar en un txt una condición, es decir, el valor de una variable.

2. Esa variable la recojo con otro php que muestro desde otro ordenador conectado a la red y dependiendo del valor de la condición debe mostrar un contenido u otro, es decir, si por ejemplo la condición es "mensaje" en la pantalla del ordenador de visualización debe aparecer el iframe que carga la pantalla de mensajes. Si por el contrario la condición es "camara", en la pantalla del ordenador de visualización debe aparecer el iframe que carga la pantalla de cámaras. He de decir que el ordenador de visualización está desatendido, no lo toca nadie, se debe autogestionar.

Para ello, he creado un php en el que mediante "if" le digo que muestre uno u otro "iframe", y con una sentencia de javascript limpio la pantalla para que solo aparezca el contenido que yo querio.

Todo funciona a la perfección, pero... El php donde tengo las condiciones "if" solo se ejecuta una vez y necesitaría que cada 10 ó 20 segundos volviese a comprobar las condiciones. Yo he creado un bucle "while" pero como es un bucle sin fin me colapsa el ordenador de visión. Os dejo el código para que veáis a lo que me refiero y a ver si así se os ocurre alguna solución. Tengo que aclarar que quiero hacerlo sin hacer refresh.
  #2 (permalink)  
Antiguo 26/03/2014, 14:13
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 11 meses
Puntos: 17
Respuesta: Bucle condicional

¿Y el codigo?

Has probado en utilizar Cronjob?

Saludos.
__________________
Twitter: @ed33x
  #3 (permalink)  
Antiguo 27/03/2014, 01:10
 
Fecha de Ingreso: marzo-2014
Ubicación: Silla (Valencia)
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Bucle condicional

Se me olvidó el código:

<?php
$a = 1;
while ($a = 1) {
$variablepantalla = file_get_contents("pantalla_c1c2.txt");

if ($variablepantalla == "camara") {
if ($limpiar <> 1) {
echo '<script>document.body.innerHTML="";</script>';
}
echo '<iframe src="pantallac1c2_2.php" frameborder="0"></iframe>';
$limpiar = 1;
}

if ($variablepantalla == "mensaje") {
if ($limpiar <> 2) {
echo '<script>document.body.innerHTML="";</script>';
}
echo '<iframe src="pantallamensaje.php" frameborder="0"></iframe>';
$limpiar = 2;
}

if ($variablepantalla == "powerpoint") {
if ($limpiar <> 3) {
echo '<script>document.body.innerHTML="";</script>';
}
echo '<iframe src="pantallapowerpoint.php" frameborder="0"></iframe>';
$limpiar = 3;
}

sleep(20);

}

?>
  #4 (permalink)  
Antiguo 27/03/2014, 01:12
 
Fecha de Ingreso: marzo-2014
Ubicación: Silla (Valencia)
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Bucle condicional

Funciona perfecto, hace lo que quiero, pero algunos navegadores se quedan bloqueados y el procesador de la CPU siempre está rascando. Imagino que se debe a que es un bucle sin fin, pero no se me ocurre otra forma de hacerlo.
  #5 (permalink)  
Antiguo 27/03/2014, 02:30
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Bucle condicional

Deberías comprobarlo con JS / AJAX...

;)
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 28/03/2014, 07:05
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años
Puntos: 8
Respuesta: Bucle condicional

Tu error esta en el while ($a = 1) es "==" no "="

Código PHP:
Ver original
  1. while ($a == 1){
  2.  
  3. }

Saludos.
  #7 (permalink)  
Antiguo 28/03/2014, 10:55
 
Fecha de Ingreso: marzo-2014
Ubicación: Silla (Valencia)
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Bucle condicional

Gracias oscard41, pero he probado lo que me dices y hace exactamente lo mismo. Me bloquea el navedor.
  #8 (permalink)  
Antiguo 28/03/2014, 10:58
 
Fecha de Ingreso: marzo-2014
Ubicación: Silla (Valencia)
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Bucle condicional

Cita:
Iniciado por Eleazan Ver Mensaje
Deberías comprobarlo con JS / AJAX...

;)
Lo he pensado, pero no tengo ni idea de como convertir el código que he hecho en PHP a AJAX.

Ya utilizo un código de AJAX para actualizar un DIV sin que parpadee el contenido, he intentado modificarlo y ajustarlo pero no se como hacer la petición de carga de la variable que tengo en el TXT y que así con un "if" muestre una cosa u otra.

¿Me podrías ayudar?

Etiquetas: bucle, condicional, variable
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 22:16.