Я пытаюсь создать систему посещаемости. Разница во времени в PHP
На выписке я вызываю функцию, которая обновляет посещаемость в базе данных и расчета часов (с использованием CodeIgniter)
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;
}
Принести свою посещаемость по идентификатору сотрудника и сделать вид, как это в профиле сотрудника.
Проблема в том, я получаю неправильный расчет часов, вероятно, из-за мой запрос. Есть ли исправление по запросу или мне нужно делать время в формате времени, а затем добавлять все из них в конце месяца, а затем получать часы из него.
«-1» в запросе (ЧАСЫ (TIMEIFF (check_out, check_in)) - это требование, потому что компания вычитает час обеда из общего количества часов. –
Вы пытались вычислить разницу во времени при отображении результата, а не путем извлечения данных таблицы для сохраненного столбца 'hour' в таблице mysql? –
О, нет, но я тоже думал об этом. дело в том, что у меня есть часы, как столбец в таблице посещаемости, чтобы ежедневно хранить часы. Но характер INT функции HOUR дает мне только значение пола, которое ежедневно тратит много минут на каждого сотрудника. –