
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>';
}
}
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


0