Admin Qry
Admin Qry
php
class ADMIN {
try {
$stmt = $db->prepare("SELECT CONCAT(employees.first_name, ' ',
employees.last_name) AS fullname,
employees.dept_unit, attendance.time_in,
attendance.time_out
FROM attendance
JOIN employees ON attendance.employee_no =
employees.employee_no
WHERE DATE(attendance.time_in) = ?");
$stmt->execute(array($todayDate));
return $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
return "Error fetching today's attendance: " . $e->getMessage();
}
}
try {
$stmt = $db->prepare("SELECT COUNT(*) FROM attendance
WHERE employee_no = ? AND DATE(time_in) = ?");
$stmt->execute(array($employeeNo, $todayDate));
return $stmt->fetchColumn() > 0; // Returns true if count > 0
} catch (PDOException $e) {
return "Error checking time in status: " . $e->getMessage();
}
}
// Method to record time in, ensuring no duplicate entries for the same day
function time_in($db, $employeeNo) {
// Check if the employee has already timed in today
if ($this->check_if_timed_in_today($db, $employeeNo)) {
return "Already timed in for today";
}
try {
$stmt = $db->prepare("INSERT INTO attendance (employee_no, time_in)
VALUES (?, ?)");
$stmt->execute(array($employeeNo, $timeIn));
return $timeIn; // Return full timestamp
} catch (PDOException $e) {
return "Error recording time in: " . $e->getMessage();
}
}
try {
$stmt = $db->prepare("UPDATE attendance SET time_out = ? WHERE
employee_no = ? AND DATE(time_in) = ? AND time_out IS NULL");
$stmt->execute(array($timeOut, $employeeNo, date('Y-m-d')));
return $timeOut; // Return full timestamp
} catch (PDOException $e) {
return "Error recording time out: " . $e->getMessage();
}
}
}
?>