Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2006, 07:31
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
FUNCION CON PROBLEMASS !! quien se anima!!??

Bueno amigos, aquí les traigo una funcion que sencillamente verifica de una BD si un alumno x tiene aprobadas las materias correlativas. El problema es el siguiente, la funcion resuelve bien si puede o no cursar una materia dada, lo que además necesito es acumular aquellas materias que NO estan aprobadas para mostrarlas en un mensaje en pantalla y el bucle que hace esto para sacar los datos en una variable de session me repite dos veces el mismo dato.

Espero se haya entendido el problema, ahí va el script:

Código PHP:
<? //FUNCION PARA VERIFICAR LA APROBACIÓN DE MATERIAS CORRELATIVAS
  //**************************************************************
include("conexiones.php");
Function 
correl($materia$cod_alumno)
{
session_start();
unset(
$_SESSION['lefaltan']);
$selecta="select correl_cod_mat from correl where cod_mat = '$materia' ";
conectar_admin('sga');
$id=mysql_query($selecta);
$datosa=mysql_fetch_array($id);
foreach(
$datosa as $k)
{
    
$selectb="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 = '$k' AND reg_alumno_mesa.cod_alumno = '$cod_alumno'
            ORDER BY reg_alumno_mesa.cod_mesa DESC LIMIT 1"
;
    
$id2=mysql_query($selectb);
    
$datosb=mysql_fetch_array($id2);
    
$filas=mysql_num_rows($id2);
        if(
$datosb['nota'] < or $filas==0)
            {
            
$cuenta++;
            
$_SESSION['lefaltan'][]=$k;
            }
}
if(
$cuenta==0)
    {
    return 
1;
    }else{
    return 
0;
    }
}
?>
notese que la variable $_session['lefaltan'] es la variable problemática que repite dos veces el mismo valor, en vez de darme los valores consecutivos correspondientes al array $datosa.

Gracias.
__________________
juanmax - GUERRERO Lab