pues resulta que estoy haciendo una aplicacion con php+mysql y estoy atorado con algo por lo que recurro a este foro que de tantos apuros me ha sacado.
resulta que tengo en una tabla de mysql registros de entrada y salida de personal (el cual gravan tecleando su numero de usuario, pero no profundizare en como obtengo los datos puesto que con eso no tengo ningun problema)
Código MySQL :
CREATE TABLE IF NOT EXISTS `asistencia` ( `id` int(5) NOT NULL AUTO_INCREMENT, `id_us` int(6) NOT NULL, `hora` time NOT NULL, `ano` int(4) NOT NULL, `mes` int(2) NOT NULL, `dia` int(2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=76 ; -- -- Volcar la base de datos para la tabla `asistencia` -- INSERT INTO `asistencia` (`id`, `id_us`, `hora`, `ano`, `mes`, `dia`) VALUES (40, 199999, '19:07:00', 2009, 12, 14), (12, 199999, '03:00:00', 2009, 11, 29), (13, 200208, '08:50:00', 2009, 12, 1), (14, 200206, '08:50:00', 2009, 12, 1), (15, 200214, '08:52:00', 2009, 12, 2), (16, 200208, '11:49:00', 2009, 12, 2), (17, 200208, '11:50:00', 2009, 12, 3), (18, 199999, '02:50:00', 2009, 12, 3), (42, 200234, '22:31:00', 2009, 12, 15), (20, 200205, '09:39:00', 2009, 12, 3), (21, 200214, '09:40:00', 2009, 12, 3), (22, 200206, '09:45:00', 2009, 12, 3), (43, 199999, '00:45:00', 2009, 12, 16), (24, 199999, '12:46:00', 2009, 12, 7), (27, 200214, '05:27:00', 2009, 12, 7), (28, 200208, '05:36:00', 2009, 12, 7), (29, 199999, '12:32:00', 2009, 12, 8), (47, 199999, '14:45:00', 2009, 12, 17);
(no puse toda la tabla por q es bastante)
y resulta que con estos datos tengo que generar un reporte que luzca asi

para lo cual escribi el siguiente codigo
Código PHP :
$sql = mysql_query("SELECT * FROM asistencia JOIN empleado ON asistencia.id_us = empleado.id_us AND asistencia.ano = '$ano' AND asistencia.mes = '$mes' GROUP BY empleado.nombre order by asistencia.dia");
$sql2 = mysql_query("SELECT * FROM asistencia WHERE ano = '$ano' AND mes = '$mes' order by id_us");
#while($resultado = mysql_fetch_array($sql)){}
$resultado = mysql_fetch_array($sql);
echo "<tr>";
echo "<td width='170' class='asis'>".$resultado['nombre']."</td>";
echo "</tr>";
while ($ress = mysql_fetch_array($sql2)){
$cualHora = (str_replace( ":", "", $ress['hora'] ));
#for ($i = 1; $i<=$cuantosDias; $i++){
echo "<td width='20'>";
if ($cualHora <= 140000){
echo "M";
}else if ($cualHora >= 140000){
echo "V";
}else if ($cualHora == NULL){
echo "X";
}
echo "</td>";
}
echo "</tr>";
?>Yo se que 2 querys no es lo mas apropiado pero ya estoy desesperado..
El punto es que aunque solo tengan p.e. 3 registros esos 3 registros se repiten a lo largo de todo el mes.
Para contar los dias del mes tengo una variable a la que he llamdo $cuantosDias en la que se guarda la cantidad de dias del mes seleccionado
alguna sugerencia para comparar el valor de $cuantosDias con lo que tengo en la base y que imprima lo que esta en el if??
bueno espero haberme dado a entender correctamente
