Foros del Web » Programando para Internet » PHP »

Pequeño problema con bucle infinito

Estas en el tema de Pequeño problema con bucle infinito en el foro de PHP en Foros del Web. Hola amigos Os explico mi problema. Quiero hacer que segun la opción escogida de un combo-box me salga un mensaje u otro. Este és mi ...
  #1 (permalink)  
Antiguo 02/09/2005, 03:06
 
Fecha de Ingreso: agosto-2002
Mensajes: 134
Antigüedad: 15 años, 4 meses
Puntos: 0
Pequeño problema con bucle infinito

Hola amigos
Os explico mi problema. Quiero hacer que segun la opción escogida de un combo-box me salga un mensaje u otro. Este és mi codigo:

Código PHP:
<?php
        
echo "<form action='tablas.php' method='post'>";
        echo 
"Selecciona la tabla: <select name='tabla'>";
        echo 
"<option value='0'>Seleciona tabla</option>";
        echo 
"<option value='1'>Función</option>";
        echo 
"<option value='2'>Marca</option>";
        echo 
"<option value='3'>Sistema Operativo</option>";
        echo 
"</select>"
    while (! 
$enviar){
        switch (
$tabla) {
            case 
0:
            echo 
"<center><h3>Por favor, escoje una tabla</h3></center>";
            break;
            case 
1:
            echo 
"Función: <br />";
            break;
            case 
2:
            echo 
"Marca: <br />";
            break;
            case 
3:
            echo 
"Sistema Operativo: <br />";
            break;
        }
    }
    echo 
"<input type='submit' name=enviar' value='Enviar formulario'>";
    echo 
"<input type='Reset' value='Borrar todo'>";
    echo 
"</form>";
?>
Lo tengo así, lo que hace es un blucle infinito, que solo muestra "Por favor, escoje una tabla"
Seguro que és una solemne burrada !!

Grácias!!
  #2 (permalink)  
Antiguo 02/09/2005, 03:12
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Me parece que es por lo siguiente:

1º- Te da la primera opcion (case 0) porque la variable $tabla no esta inicializada ni captura un valor de ningun sitio... con lo cual su valor es cero.

2º -Te hace un bucle infinito porque el contenido de la variable $enviar no cambia nunca durante la ejecucion del bucle (has pensado que igual no necesites el bucle?).
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 02/09/2005, 03:16
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 12 años, 3 meses
Puntos: 0
Hola, mira si quieres que solo te salga la opcion escogida en el select, yo haria lo siguiente:
Al recivir los valores del formulario por post, controlaria si recivo algo mediante un if y no un while y luego el valor selecionado del select para el switch.

Espero haber servido de ayuda.
  #4 (permalink)  
Antiguo 02/09/2005, 03:25
 
Fecha de Ingreso: agosto-2002
Mensajes: 134
Antigüedad: 15 años, 4 meses
Puntos: 0
Bueno, lo que quiero es que al cambiar el valor del combo me salga un mensage diferente. No se como hacerlo. Si lo hago como os lo he presentado me crea un bucle infinito, sin el while, solo me sale el mensaje "Por favor, escoje una tabla" pero al escojer otro valor no cambia el mensaje.
Bufff que lio !!!

Grácias por contestar!!
  #5 (permalink)  
Antiguo 02/09/2005, 03:37
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 12 años, 3 meses
Puntos: 0
Yo iria printando el el valor de $tabla cuando le des al enviar a ver si va cambiando de valor segun la opcion del select.
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:14.