Bagaimana menggunakan PHP untuk membangunkan laporan analisis data kehadiran pekerja?
Apabila skala perusahaan berkembang, pengurusan data kehadiran pekerja menjadi semakin penting. Dengan menganalisis data kehadiran pekerja, syarikat boleh lebih memahami kehadiran pekerja, kerja lebih masa, ketibaan lewat dan keluar awal, dsb., untuk melaksanakan pengaturan syif yang munasabah dan langkah ganjaran dan hukuman. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan laporan analisis untuk data kehadiran pekerja dan menyediakan contoh kod khusus.
Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan data kehadiran pekerja. Jadual data kehadiran boleh mengandungi medan berikut: ID pekerja, tarikh, masa kerja, waktu cuti kerja, dsb. Anda boleh menggunakan pangkalan data MySQL dan mencipta jadual data bernama "kehadiran". . pindahkan data Masukkan ke dalam pangkalan data.
Berikut ialah contoh mudah untuk memasukkan data kehadiran pekerja ke dalam jadual kehadiran: attendance
(
id
int(11) NOT NULL AUTO_INCREMENT,
employee_id
int(11) NOT NULL,
date
date NOT NULL,
start_time
time NOT NULL,
end_time
time NOT NULL,
PRIMARY KEY (id
// Sambung ke pangkalan data
$conn = PDO baharu("mysql:host=$host;dbname=$db", $user, $pass);
// akan mengambil Data kehadiran dimasukkan ke dalam pangkalan data
$employeeID = 1;$date = '2021-01-01';
$startTime = '09:00:00';
$endTime = '18:00:00';
$ stmt = $conn->prepare('MASUKKAN KE DALAM kehadiran (id_pekerja, tarikh, masa_mula, masa_akhir) NILAI (?, ?, ?, ?)');
$stmt->execute([$employeeID, $date, $ startTime, $endTime]);
//Tutup sambungan pangkalan data
$conn = null;?>
Analisis data
Dengan data kehadiran, kami boleh menggunakan PHP untuk menganalisis data dan menjana yang sepadan laporan respons.
// Sambung ke pangkalan data
$conn = PDO baharu("mysql:host=$host;dbname=$db", $user, $pass) ;
// Tanya data kehadiran pekerja untuk bulan tertentu
$employeeID = 1;$month = 1;
$stmt = $conn->prepare('SELECT * FROM attendance WHERE employee_id = ? DAN BULAN(tarikh) = ?');
$stmt->execute([$employeeID, $month]);
$attendanceData = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Kira jumlah bilangan hari kehadiran dan lebih masa Tempoh
$Hari bekerja = count($attendanceData);$overtimeHours = 0;
foreach ($attendanceData as $row) {
$startTime = strtotime($row['start_time']); $endTime = strtotime($row['end_time']); $overtimeHours += max(0, ($endTime - strtotime('18:00:00')) - ($startTime - strtotime('09:00:00')));
}
Echo " hari kehadiran: $workingDays";
echo "Jumlah jam kerja lebih masa: $overtimeHours jam";
//Tutup sambungan pangkalan data
$conn = null;
Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk membangunkan laporan analisis data kehadiran pekerja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!