我正在尝试创建一个考勤系统。
在签出时,我调用一个函数来更新数据库中的出勤情况并计算小时数(使用Codeigniter)。
我通过员工ID获取我的考勤记录,并在员工个人资料中呈现如下视图。 问题在于我得到了错误的小时计算,可能是由于我的查询导致的。是否可以通过查询修复,还是我必须将时间差保留在时间格式中,然后在月底将它们全部加起来,然后从中获取小时数。
public function updateAttendance($data,$id)
{
date_default_timezone_set('Asia/Karachi');
$attendance=array(
'check_in'=> $data['check_in'],
'check_out'=> $data['check_out']
);
$this->db->WHERE('id',$id)->update('attendance',$attendance);
$this->db->query('UPDATE attendance SET hours=(HOUR(TIMEDIFF(check_out,check_in))-1) WHERE DATE(date)=\''.date('Y-m-d').'\' and employee_id='.$id);
return true;
}
我通过员工ID获取我的考勤记录,并在员工个人资料中呈现如下视图。 问题在于我得到了错误的小时计算,可能是由于我的查询导致的。是否可以通过查询修复,还是我必须将时间差保留在时间格式中,然后在月底将它们全部加起来,然后从中获取小时数。