Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/02/2006, 08:34
Avatar de JorgitoAlfajor
JorgitoAlfajor
 
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Creo que tenes un error en la forma de recorrer el resultado de la consulta.
Con la linea:
$datosa=mysql_fetch_array($id);
en $datosa tienes sólo una fila del resultado, no la tabla completa. Luego, con:
foreach($datosa as $k)
recorrés esa fila obteniendo en cada iteracion, en la variable $k, un campo de la fila (y por como es la consulta, dicha fila tiene sólo un campo: correl_cod_mat).
La forma correcta de hacerlo creo que sería mas o menos así

Código PHP:
<?
...
while (
$datosa=mysql_fetch_row($id)) {

$k $datosa[0];

$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
            }

}
...
?>
Saludos.
__________________
¿Se me entiende la letra?