Foros del Web » Programando para Internet » PHP »

problema con switch

Estas en el tema de problema con switch en el foro de PHP en Foros del Web. Bueno tengo un problema con este switch!!!El problema es que tenga la variable $op y la variable $check el valor que tenga siempre entra en ...
  #1 (permalink)  
Antiguo 28/02/2007, 03:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 1 mes
Puntos: 2
problema con switch

Bueno tengo un problema con este switch!!!El problema es que tenga la variable $op y la variable $check el valor que tenga siempre entra en dos sitios en el que le corresponde y luego en valor 3. Es decir por ejemplo $op=2 y $check=3. pues entraria en 2 y 3, y luego entraria en 3 y 3.
Estoy un poco desquiziado porque sera una tonteria pero no la encuentro!!

Aio, Gracias

Código PHP:
<?
//Lista las incidencias de las peticiones de los administradores
function Consultaados($op,$estado,$usuario,$fec_in,$fec_fin,$check){
            echo 
$op.$check;
            switch(
$op){
            case 
1:
                    switch(
$check){
                    case 
0:
                        echo 
"He entrado en 1 y 0";
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado'");
                        break;
                    case 
1:
                        echo 
"He entrado en 1 y 1";
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado'");
                        break;
                    case 
2:
                        echo 
"He entrado en 1 y 2";
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado' and fecha_fin between '$fec_in' and '$fec_fin'");
                        break;
                    case 
3:
                        echo 
"He entrado en 1 y 3";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado' and fecha_fin between '$fec_in' and '$fec_fin'");
                        break;
                    }
            case 
2:
                    switch(
$check){    
                    case 
0:
                        echo 
"He entrado en 2 y 0";
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado'");
                        break;
                    case 
1:
                        echo 
"He entrado en 2 y 1";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado'");
                        break;
                    case 
2:
                        echo 
"He entrado en 2 y 2";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado' and fecha_inicio between'$fec_in' and '$fec_fin'");
                        break;
                    case 
3:
                        echo 
"He entrado en 2 y 3";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado' and fecha_inicio between '$fec_in' and '$fec_fin'");
                        break;
                    }
            case 
3:
                    switch(
$check){
                    case 
0:
                        echo 
"He entrado en 3 y 0";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado'");
                        break;
                    case 
1:
                        echo 
"He entrado en 3 y 1";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado'");
                        break;
                    case 
2:
                        echo 
"He entrado en 3 y 2";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where Estado='$estado' and fecha_fin between '$fec_in' and '$fec_fin'");
                        break;
                    case 
3:
                        echo 
"He entrado en 3 y 3";                    
                        
$resul=mysql_db_query("qbd121","Select * from averias where CLIENTE='$usuario' and Estado='$estado' and fecha_inicio between '$fec_in' and '$fec_fin'");
                        break;
                    }
}
            while(
$campo=mysql_fetch_array($resul,MYSQL_BOTH)){
                    echo 
"<tr>";
                    for(
$i=0;$i<9;$i++){
                    echo 
"<td class=\"consultastabla2 \">".$campo[$i]."</td>";
                }
            echo 
"</tr>";
            }
            echo 
"</table>";
}
  #2 (permalink)  
Antiguo 28/02/2007, 05:05
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 1 mes
Puntos: 2
Re: problema con switch

$op mantiene el mismo valor durante toda la funcion con lo que al switch solo deberia entrar la primera vez.
  #3 (permalink)  
Antiguo 28/02/2007, 06:00
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: problema con switch

hola

fijate si poniendo break; antes de los case 2 y case 3 del switch($op) funciona,,

exitos
  #4 (permalink)  
Antiguo 28/02/2007, 07:53
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 1 mes
Puntos: 2
Re: problema con switch

Joder llevaba toda la mañana con ello y no lo conseguia ver!!Si es que cuando te bloqueas!!

Muchas gracias
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 14:05.