Gracias, mas o menos tengo eso, este es el codigo:
Código PHP:
$idTable = "calTable";
printf("<form name=datos action=recogida.php method=post>\n
<table id=%s align=center border=1 cellspacing=3 cellpadding=3>\n
<caption>%s</caption>\n", $idTable, $mes);
for ($i = 01; $i <= $nprof; $i++) { //nprof - array del numero de profesionales
printf("<tr id=Col%s>", $i);
for ($j = 01; $j <= $ndias; $j++) { //ndias - array con numero de dias del mes
$idHref = "href" . ($i - 2) . ($j - 1);
$idInput = "inp" . ($i - 2) . ($j - 1);
if ($i == 1 && $j == 1) { //Celda "profesionales"
print("<td>Profesionales</td>\n");
}
if ($i == 1 && $j >= 2) { //Nombre dias
printf("<td id='%s'>%s</td>\n", $Ndia[$j - 2], $Ndia[$j - 2]); //Ndia - array con el nombre del dia de la semana que le corresponde a cada dia del mes
}
if ($i == 2 && $j == 1) { // Celda de control - Para que no descuadre la tabla.
print("<td></td>");
}
if ($i == 2 && $j >= 2) { //Numero dias
printf("<td>%s</td>\n", $Mdia[$j - 2]); //Mdia - array con el numero de dias del mes
}
if ($i >= 3 && $j == 1) { //Columna de profesionales
printf("<td id='Prof%s'>%s</td>\n", $profs[$i - 3], $profs[$i - 3]);
}
if ($i >= 3 && $j >= 2){
//if ($i >= 01 && $j >= 01) { //relleno.
$i_ = 00;
$j_ = 00;
if ($i_ == $infoProf[$profs[$i_]] && $j_ == $infoProf[$Mdia[$j_]]){
print($infoProf[$profs[$i_]][$Mdia[$j_]]); // infoProf - array contruido a partir de otro array que contiene arrays donde la key de cada array es el codigo del trabajador y dentro de cada array de estos tiene varios valores que corresponden al codigo del trabajo que desempeña y la key de este codigo es el dia.
} else{
printf("<td>\n<a id=%s href=# class='boton' onClick='darValorID(this.id)'>N</a>\n
<input id=%s name=%s type=hidden value='N'>\n</td>\n", $idHref, $idInput, $idInput);
}
}
}
print("</tr>");
}
print("</table>");
print("</form>");
Todos los arrays son resultados de consultas mysql y el array infoProf es un array construido a partir de otro array que devuelve la consulta.
A ver si asi me podeis ayudar, un saludo.