在php中查找白天和夜班的工作时间

时间:2014-03-17 09:16:25

标签: php mysql

我正在使用php / mysql进行考勤系统。在计算夜班工作时间和如果没有时间时,我遇到了逻辑问题。

if(isset($_POST['date']))
{
  $date = $_POST['date'];
}
else
{
  $date = date('Y-m-d');
}
$select = mysql_query("select * from `timelog` where `date`='$date' ORDER BY `time`");
$i=1;
while($row = mysql_fetch_array($select))
{
  if($i==1)
  {
    $fv=$row['time'];
    $first_value=new DateTime($row['time']);
    $k=0;
  }
  if($i==2)
  {
    $sv=$row['time'];
    $second_value=new DateTime($row['time']);
    $difference = $first_value->diff($second_value);
    $total = $difference->format('%h hours %i minutes %s seconds');
    ?>
    <tr><td><?php echo $row['name'];?></td>
    <td><?php echo $row['cardno'];?></td>
    <td><?php echo $row['date'];?></td>
    <td><?php echo date("g:i:s a", strtotime("$fv"));?></td>
    <td><?php echo date("g:i:s a", strtotime("$sv"));?></td>
    <td><?php echo $total;?></td></tr>
    <?php
    $k=1;
  }  
  $i++;
  if($k==1)
 {
  $i=1;
 }
}

在数据库表中,我添加了id,name,date,time。

1 个答案:

答案 0 :(得分:0)

if (date("His")<='065959') { $shift_id="N"; }
if (date("His")>='070000' AND date("His")    <='145959') { $shift_id="M"; }
if (date("His")>='150000' AND date("His")<='225959') { $shift_id="E"; }
if (date("His")>='230000') { $shift_id="N"; } print $shift_id;