Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2006, 16:12
Avatar de Juanmax
Juanmax
 
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 18 años, 4 meses
Puntos: 0
Problema con un retorno de valor

Hola Amigos,

He construido una función que resuelve la aprobación de materias correlativas en mi sistema de gestión académica. Lo hice con un switch y en cada 'case' agrego una sentencia 'return' para que me devuelva al script un 0 o un 1 dependiendo si puede o no el supuesto alumno inscribirse a esa materia.
La pregunta puntual es: ¿Como hago para capturar el valor devuelto por la función porque no se como tomarlo? Obviamente la funcion no me funciona...

Aca va parte de la funcion porque no me entra:

Código PHP:
<? //FUNCION PARA VERIFICAR LA APROBACIÓN DE MATERIAS CORRELATIVAS
  //**************************************************************
 //ANALISTA EN COMPUTACIÓN ADMINISTRATIVA

Function correl_analista($materia$cod_alumno)
include(
"conexiones.php");
switch (
$materia//todos los case estan ordenados por año segun planilla de correlatividades (Anexo 1)
    
{
    case 
"A01":
        return 
1;
        break;
    case 
"A27":
        return 
1;
        break;
    case 
"A02":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A01' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A03":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A01' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A04":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A27' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1
            
break;
            }else{
                return 
0;
                break;
                }
    case 
"A07":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A01' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A08":
        
$querya="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A02' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
$queryb="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A03' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$a=mysql_query($querya);
        
$dataa=mysql_fetch_array($a);
        
$b=mysql_query($queryb);
        
$datab=mysql_fetch_array($b);
        if(
$dataa[nota] >=and $datab[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A10":
        return 
1;
        break;
    case 
"A05":
        return 
1;
        break;
    case 
"A06":
        return 
1;
        break;
//FIN MATERIAS PRIMER AÑO
    
case "A11":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A02' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A12":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A08' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A14":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A10' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A13":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A05' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A09":
        
$query="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A04' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$k=mysql_query($query);
        
$data=mysql_fetch_array($k);
        if(
$data[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    case 
"A15":
        
$querya="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A13' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
$queryb="SELECT reg_alumno_mesa.cod_alumno , reg_alumno_mesa.nota , reg_mesa.cod_mat ,
        reg_alumno_mesa.cod_mesa
        FROM reg_alumno_mesa INNER JOIN reg_mesa
        ON reg_alumno_mesa.cod_mesa = reg_mesa.cod_mesa
        WHERE reg_mesa.cod_mat = 'A04' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
        ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
        
conectar_admin('sga');
        
$a=mysql_query($querya);
        
$dataa=mysql_fetch_array($a);
        
$b=mysql_query($queryb);
        
$datab=mysql_fetch_array($b);
        if(
$dataa[nota] >=and $datab[nota] >=6)
            {
            return 
1;
            break;
            }else{
                return 
0;
                break;
                }
    
    }
?>
__________________
juanmax - GUERRERO Lab