segun entedi quieres otra fila por trabajador
seria algo asi
Código PHP:
Ver original<?
//Inicio Funciones
function fechaNumero($f,$opc){
if(!$opc){
$fecha = mktime(0,0,0,$m,$d,$a)/(60 * 60 * 24); }else
return $fecha;
}
function diasemana($d) {
$sem = array("Do","Lu","Ma","Mi","Ju","Vi","Sa"); return $sem[$d];
}
//Término Funciones
//Inicio Clase
class claseTablaDias {
function validarDatos($fecha_inicio,$fecha_fin,$trabajadores){
$f1 = fechaNumero($fecha_inicio,0);
$f2 = fechaNumero($fecha_fin,0);
$this->fi = $fecha_inicio;
$this->dif_dias = $f2 - $f1 + 1;
if($this->dif_dias>0) {
$this->crearTablaDias($trabajadores);
}else{
print "error datos";
}
}
function crearTablaDias($total_trabajadores){
print "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n";
for($row=0;$row<count($total_trabajadores) + 2;$row++){ list($d,$m,$a) = fechaNumero
($this->fi,1); print "<tr>\n";
for($i==0 ; $i<$this->dif_dias ;$i++){
print "<td align=\"center\">";
$dia = diasemana
(date("w",mktime(0,0,0,$m,$d,$a))); if($row==0)
print $dia;
elseif($row==1)
print $fechadia;
elseif($row>=2){
##################### CONECTAR BASE DATOS #####################
$consulta = "SELECT fecha FROM tabla WHERE fecha='$a-$m-$d' AND trabajador=\"".$this->workers[$i-2]."\"";
print "x";
else
print " ";
##################### DESCONECTAR BASE DATOS #####################
}
$d++;
print "</td>";
}
print "</tr>\n";
$i=0;
}
print "</table>";
}
}
//Término Clase
//Listado trabajadores, use como Id el nombre pero tu debes tener otro Id quizá
$aTrabajadores = array("Juan", "Pedro", "Luis","Mario"); //se crea el constructor
$const = new claseTablaDias;
//se ingresan los datos, fecha de incio, fecha de termino, array de trabajadores
$const->validarDatos("20-8-2011","4-9-2011",$aTrabajadores);
?>
por mi parte me retiro
salu2