PHP - Registro entrada y salida

   
Vista:

Registro entrada y salida

Publicado por Carlos (6 intervenciones) el 10/08/2017 15:35:44
¿Cómo hago para sacar el primer registro de ingreso del día y el último registro de salida?

Por ejemplo:

Carlos tiene su horario de 7:00 AM a 12:30 M y de 1:30 PM: 5:00 PM.

Diana tiene su horario de 8:00 AM a 12:00 M y de 1:00 PM a 6:00 PM.

Valentina tiene su horario 7:30 AM A 12:00 M y de 2:00 PM a 6:30 PM.

Pero todos salen e ingresan durante el horario laboral.

Necesito el primer registro de ingreso a la empresa y el ultimo de salida de la empresa... los registros del centro no tienen relevancia.

Lo que tengo es algo así:

Ésta es una consulta mas no una tabla.

$lstHoraEmp = array();

$sqlHorEmp = "SELECT DISTINCT(usuarios.Nombre), Documento, relacion_colaborador_horario.Id_Horario, horarios.Nombre Horario, Entrada, Salida FROM usuarios, relacion_colaborador_horario, horarios WHERE usuarios.Id_Usuario = relacion_colaborador_horario.Id_Usuario AND relacion_colaborador_horario.Id_Horario = horarios.Id_horario";

$resHorEmp = mysql_query($sqlHorEmp,$con_mysql);

while($rowHorEmp = mysql_fetch_array($resHorEmp))
{
$idEmp = trim($rowHorEmp["Documento"]);
$idHor = 'HF '.$rowHorEmp["Id_Horario"].' - '.$rowHorEmp["Horario"];

$lstHoraEmp[$idEmp] = $idHor;
}

Ésta es una tabla de sql

$sqlr = 'select * from registros order by dia, hora, Nombres ASC';

$resr = mysql_query($sqlr,$con_mysql);

Declaro las variables

while($rowr = mysql_fetch_array($resr))
{
//print_r($rowr);

$Nombres = $rowr["Nombres"].' '.$rowr["Apellidos"];
$Documento = $rowr["Documento"];
$Dia = $rowr["Dia"];
$Hora = $rowr["Hora"];
//$Tipo_Horario = $rowhor["Codigo"].' - '.$rowhor["Nombre"];

Esto no puede ir acá porque lo estoy delimitando, la idea es que el mismo sistema se encargue de delimitarlo (por si llegan a añadir más horarios)

$H_1_E = "07:00:00";
$H_1_S = "17:00:00";

Acá le digo que si `$rowr["Hora"]` _(que es la hora de ingreso o salida)_ es mayor a `$H_1_E`, entonces que me imprima en una tabla la hora que llega tarde.

if($rowr["Hora"] > $H_1_E && $rowr["Hora"] < "09:00:00")
{
echo '<tr>
<td colspan="1">'.$Nombres.'</td>
<td colspan="1">'.$Documento.'</td>
<td colspan="1">'.$Dia.'</td>
<td colspan="1">'.$Hora.'</td>
<td colspan="1"> - </td>
<td colspan="2">'.$lstHoraEmp[$Documento].'</td>
</tr>';
}

Y acá exactamente igual, que si la hora de ingreso (`rowr["Hora"]`) es menor a la hora de salida (`$H_1_S`) entonces que me imprima los que salieron temprano.

if ($rowr["Hora"] > "16:00:00" && $rowr["Hora"] < $H_1_S)
{
echo '<tr>
<td colspan="1">'.$Nombres.'</td>
<td colspan="1">'.$Documento.'</td>
<td colspan="1">'.$Dia.'</td>
<td colspan="1"> - </td>
<td colspan="1">'.$Hora.'</td>
<td colspan="2">'.$lstHoraEmp[$Documento].'</td>
</tr>';
}

}
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