PHP - Problema para llenar una Grilla con PHP

 
Vista:

Problema para llenar una Grilla con PHP

Publicado por Jose (1 intervención) el 18/04/2012 14:15:06
Necesito llenar una grilla con los datos del cliente, y por cada cliente marcar con una (x) o un (.).los dias que fue a trabajar ( . = Asistió , x = no asistió )

Pero cuando cuando empiezo a llenar la grilla, me marca los días de asistencia al principio y no donde corresponde cada día

Ejemplo.

El Sr Juan Perez dentro del mes fue a trabajar el día 5 y 6, y cuando filtro por mes en la pagina me me muestran los datos del cliente y me marca con un punto el día 1 y 2

Este es una parte del código que realice:

( Con esta consulta lleno los datos del cliente )

if(($_POST['mes']!="") and ($_POST['año']!=""))
{
$sql="select a.nombre , ap_paterno , ap_materno , a.rut, b.nombre , c.nombre
from persona_m a , empresa_m b , funcion_m c , asistencia_t d where a.estado = 1" ;
$sql .= " and a.id_empresa = b.id and a.id_funcion = c.id and a.id = d.id_persona and d.fecha_ingreso between $mes1 and $mes2 group by d.id_persona";

$result=mysql_query($sql,$link);
$numero = mysql_num_rows($result);
echo $numero;
//echo (" funciona mes");
}

else {
?>
<script language='JavaScript'>
alert("Ingrese Fecha !")
</script>
<?php
$var = 0;
}
if ($var != "0")
{
///////////////////////////////////////////////llena los datos del usuario ///////////////////////////////////////////////////
while($row = mysql_fetch_array($result))
{
?>
<TR>
<TD width="119"><?php echo $row["0"]; ?></TD>
<TD width="135"><?php echo $row["1"]; ?></TD>
<TD width="135"><?php echo $row["2"]; ?></TD>
<TD width="61"><?php echo $row["3"]; ?></TD>
<TD width="166"><?php echo $row["4"]; ?></TD>
<TD width="135"><?php echo $row["5"]; ?></TD>
<?php
$id_usuario = $row["6"];
?>
<?php

( En esta consulta filtro por todos los días del mes para poder llenar la asistencia )

$sql="SELECT id_persona, fecha_ingreso, fecha_salida FROM asistencia_t WHERE fecha_ingreso between $mes1 and $mes2";

if($result_l=mysql_query($sql,$link))
{
if($num_l=mysql_num_rows($result_l))
{
while($row=mysql_fetch_row($result_l))
{
$id_2 =$row[0];
$fecha_in =$row[1];
$fecha_sal =$row[2];

$solodia = substr($fecha_in,9,2); // dia

for ( $dias=1; $dias <= 31; $dias++)
{
if ($solodia == $dias)
{
if ($id_usuario == $id_2)

{
?> <TD width="15"><?php echo "."; ?></TD>
<?php


}// fin si


else
{
?> <TD width="15"><?php echo "x"; ?></TD>
<?php


} // fin else
}// fin si

} // fin si $result
} // fin si $num
}//fin else
} // fin wuile $result_l
} //fin while
}//fin if var
?>
</table>

</div>
</div>
<?php //fin campos vacios

}//fin submit

?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder