Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2010, 04:31
jordinogue
 
Fecha de Ingreso: septiembre-2005
Mensajes: 14
Antigüedad: 18 años, 7 meses
Puntos: 0
Cruzar datos con calendario

Hola, primero, gracias por intentar ayudarme. Intentaré explicar lo mas claro posible cual es mi problema.

Lo que quiero conseguir: Tengo una tabla donde guardo la informacion de asistencia de los alumnos de un curso. Guardo en esta tabla idalumno, idcurso, fecha asistencia, horas asistidas y dia,mes y año(es decir, la fecha por partes). Lo que quiero hacer es una tabla resumen con los dias del mes como encabezado de columnas, los nombres de los alumnos como encabezado de filas y las horas diarias asistidas en la interseccion.

Lo que tengo:
Código PHP:
<?
$ultimoDia 
date('t',$fecha);
$numMes 0;
?>
  <tr>
     <td width="14%" height="19" align="center">---</td>
<?
  
for ($numMes 0$numMes $ultimoDia$numMes++){
?>
    <td width="14%" height="19" align="center"><? echo ($numMes)+1;?></td>
<?
}
?>
    </tr>
Con esto (resumiendo) genero los dias del mes en el encabezado de columnas.
Pero no encuentro la manera de encajar los datos de asistencia de cada alumno con su dia correspondiente.

Lo que he probado: Infinidad de cosas y consultas, por ejemplo:
Código PHP:
<?
$numMes 
0;
 
  for (
$numMes 0$numMes $ultimoDia$numMes++){
      
$dia=$numMes+1;
      
$sql2="SELECT * FROM relalumnesassis ra,defalumnes da WHERE ra.dia=$dia AND ra.mes=$mes AND ra.ano=$ano AND ra.idcurs=$idcurs AND ra.idalumne=da.idalumne ORDER BY da.cognom";
$res2=mysql_query($sql2) or die('La consulta fall&oacute;: ' mysql_error());
      while(
$r2=mysql_fetch_array($res2,MYSQL_ASSOC)){
?>
     <tr>
    <td align="center"><? echo $r2["cognom"].", ".$r2["nomalumne"];?></td>
<?
            $sql3
="SELECT horesassis FROM relalumnesassis ra WHERE ra.dia=$dia AND ra.mes=$mes AND ra.ano=$ano AND ra.idcurs=$idcurs AND ra.idalumne=".$r2["idalumne"];
            
$res3=mysql_query($sql3) or die('La consulta fall&oacute;: ' mysql_error());
             while(
$r3=mysql_fetch_array($res3,MYSQL_ASSOC)){
?>
                 
            <td align="center"><? echo $r3["horesassis"];?></td>
<?
            
        
}
}
?>
    </tr>
Pero claro, eso no me cuadra asistencias con dias (a menos que tuviera todos los dias del mes entrados, cosa que puede no pasar.)

Alguna idea de como puedo hacerlo?
Gracias