计算php中的累积量

时间:2016-08-23 06:48:20

标签: php string

下面给出的是我正在尝试做的代码是获得员工的in_time和out time基本上我正在建立一个考勤系统,系统将记录员工的时间,即当他在办公室时当他不在时...下面是我的mysql表,从下表中我可以从中获取员工的进出时间,你可以清楚地看到在相应的日期有两个特定员工的会话 1)从11:00:00开始到13:00:00结束 2)从14:00:00开始,结束于17:00:00

现在你可以从代码中看到我正在创建一个in_time和out_time数组 这是一条棘手的道路...... 现在我想添加第一个会话的总时间,即11:00:00 + 13:00:00,同样是第二个会话,然后我想添加第一个会话和第二个会话的时间...... 我尝试使用strntotime功能,但由于我的进出时间是在阵列中,因此它对我有用 如此有用帮助我实现这一点,并帮助我在我的脑海中灌输如何实现这一目标......

enter image description here

///get employee timings w.r.t to date
$sql="SELECT * from employee_timings where emp_timing_date='$date'";
$query=mysql_query($sql);
$array_in_time=array();
$array_out_time=array();
while ($result=mysql_fetch_array($query)) {
    # code...
     array_push($array_in_time, $result['emp_in_time']);
     array_push($array_out_time,$result['emp_out_time']);
}    

1 个答案:

答案 0 :(得分:0)

尝试对while循环进行以下修改

$emp_accumulated_time = array();

while ($result=mysql_fetch_array($query)) {
  # calculate time interval for each session
  $time_interval = strtotime($result['emp_out_time']) - strtotime($result['emp_in_time']);

  # accumulated session time for each employee
  $emp_accumulated_time[$query['emp_timing_employee_id']] += time_interval;
}

现在,您可以使用$emp_accumulated_time[$employee_id]

检索empoyee的累计会话时间