Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membandingkan data kehadiran pekerja melalui PHP?

Bagaimana untuk membandingkan data kehadiran pekerja melalui PHP?

王林
王林asal
2023-09-25 13:03:291346semak imbas

Bagaimana untuk membandingkan data kehadiran pekerja melalui PHP?

Bagaimana untuk membandingkan data kehadiran pekerja melalui PHP?

Dari segi menguruskan kehadiran pekerja perusahaan, adalah tugas penting untuk membandingkan data kehadiran sebenar pekerja dengan data kehadiran yang telah ditetapkan. Melalui bahasa pengaturcaraan PHP, kami boleh membandingkan data kehadiran pekerja dengan mudah dan melaksanakan pemprosesan dan analisis yang sepadan. Berikut akan memperkenalkan cara menggunakan PHP untuk membandingkan data kehadiran pekerja dan memberikan contoh kod khusus.

  1. Reka bentuk pangkalan data

Pertama, anda perlu mereka bentuk pangkalan data untuk menyimpan data kehadiran pekerja dan data kehadiran pratetap. Di sini, mengambil MySQL sebagai contoh, dua jadual dicipta: pekerja_kehadiran dan pratetap_kehadiran. Jadual

kehadiran_pekerja digunakan untuk menyimpan data kehadiran pekerja sebenar dan mengandungi medan berikut:

  • id: ID rekod kehadiran pekerja
  • id_pekerja: ID pekerja
  • tarikh: tarikh kehadiran
  • check_in
  • masa masuk:masa masuk: : jam masuk selepas kerja Masa
jadual kehadiran_pratetap digunakan untuk menyimpan data kehadiran pratetap dan mengandungi medan berikut:

    id: ID rekod kehadiran pratetap
  • id_pekerja: ID Pekerja
  • tarikh masuk
  • :tarikh masuk_masa hadir: Masa kerja pratetap
  • check_out_time: Pratetap masa luar tugas
    Pelaksanaan kod PHP
Pertama, sambung ke pangkalan data MySQL:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "attendance";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

Seterusnya, tulis fungsi untuk membandingkan data kehadiran sebenar pekerja dengan data kehadiran sebenar , dan mengeluarkan perbandingan Hasil:

<?php
function compareAttendance($employeeId, $date) {
    global $conn;

    // 查询实际考勤数据
    $sql = "SELECT check_in_time, check_out_time FROM employee_attendance WHERE employee_id='$employeeId' AND date='$date'";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();

    // 查询预设考勤数据
    $sql = "SELECT check_in_time, check_out_time FROM preset_attendance WHERE employee_id='$employeeId' AND date='$date'";
    $result = $conn->query($sql);
    $presetRow = $result->fetch_assoc();

    // 比对考勤数据
    if ($row["check_in_time"] == $presetRow["check_in_time"] && $row["check_out_time"] == $presetRow["check_out_time"]) {
        echo "考勤数据匹配";
    } else {
        echo "考勤数据不匹配";
    }
}

// 示例调用函数
compareAttendance(1, "2022-01-01");
?>

Kod di atas akan menanyakan data kehadiran sebenar yang sepadan dan data kehadiran pratetap dalam pangkalan data berdasarkan ID dan tarikh pekerja masuk, dan kemudian membandingkan masa tebuk masuk kedua-duanya. Jika terdapat padanan lengkap, "Padanan data kehadiran" akan dikeluarkan, jika tidak, "Data kehadiran tidak sepadan" adalah output.

    Kesimpulan
Melalui contoh kod PHP dan reka bentuk pangkalan data di atas, kami boleh melaksanakan fungsi perbandingan data kehadiran pekerja dengan mudah. Dalam aplikasi sebenar, kod boleh dipertingkatkan lagi mengikut keperluan, seperti menambah lebih banyak peraturan perbandingan dan logik pengendalian pengecualian kehadiran untuk memenuhi keperluan perniagaan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk membandingkan data kehadiran pekerja melalui PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn