Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja?

Bagaimana untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja?

WBOY
WBOYasal
2023-09-25 09:25:56928semak imbas

Bagaimana untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja?

Bagaimana untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja?

Dalam perusahaan moden, pengurusan kehadiran pekerja adalah tugas yang amat penting. Untuk mengurus dan menganalisis kehadiran pekerja dengan lebih baik, banyak syarikat telah menggunakan alat visualisasi data untuk memaparkan dan mengira data kehadiran pekerja. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja dan memberikan contoh kod khusus.

Pertama, kita perlu menjelaskan fungsi dan struktur data yang ingin kita laksanakan. Secara umumnya, data kehadiran pekerja termasuk maklumat seperti nombor kerja, tarikh, masa bekerja, waktu keluar kerja, bilangan ketibaan lewat dan bilangan keluar awal. Kita perlu menyimpan data ini dalam pangkalan data dan menggunakan PHP untuk pertanyaan dan visualisasi data.

  1. Reka bentuk pangkalan data

Pertama, cipta pangkalan data bernama "kehadiran_pekerja", dan kemudian buat jadual data bernama "kehadiran" untuk menyimpan data kehadiran pekerja. Struktur jadual data adalah seperti berikut:

CREATE TABLE attendance (
    id INT PRIMARY KEY AUTO_INCREMENT,
    employee_id INT,
    date DATE,
    start_time TIME,
    end_time TIME,
    late_count INT,
    early_leave_count INT
);
  1. Entri data

Masukkan data kehadiran yang sepadan ke dalam pangkalan data setiap kali pekerja pergi bekerja atau berhenti kerja. Fungsi kemasukan data boleh dilaksanakan menggunakan borang HTML dan kod PHP.

Contoh kod HTML:

<form action="submit_attendance.php" method="POST">
    <label for="employee_id">工号:</label>
    <input type="text" name="employee_id" id="employee_id" required>

    <label for="date">日期:</label>
    <input type="date" name="date" id="date" required>

    <label for="start_time">上班时间:</label>
    <input type="time" name="start_time" id="start_time" required>

    <label for="end_time">下班时间:</label>
    <input type="time" name="end_time" id="end_time" required>

    <label for="late_count">迟到次数:</label>
    <input type="number" name="late_count" id="late_count" min="0" required>

    <label for="early_leave_count">早退次数:</label>
    <input type="number" name="early_leave_count" id="early_leave_count" min="0" required>

    <input type="submit" value="提交">
</form>

Contoh kod PHP (submit_attendance.php):

<?php
    $employee_id = $_POST['employee_id'];
    $date = $_POST['date'];
    $start_time = $_POST['start_time'];
    $end_time = $_POST['end_time'];
    $late_count = $_POST['late_count'];
    $early_leave_count = $_POST['early_leave_count'];

    // 连接数据库
    $conn = mysqli_connect("localhost", "root", "password", "employee_attendance");

    // 插入数据
    $query = "INSERT INTO attendance (employee_id, date, start_time, end_time, late_count, early_leave_count)
              VALUES ('$employee_id', '$date', '$start_time', '$end_time', '$late_count', '$early_leave_count')";

    mysqli_query($conn, $query);
    mysqli_close($conn);
?>
  1. Penggambaran data

Seterusnya, kami akan menggunakan perpustakaan PHP dan Chart.js untuk menggambarkan data kehadiran pekerja. Pertama, kita perlu mendapatkan data kehadiran pekerja daripada pangkalan data dan menjalankan statistik dan pengelompokan mengikut peraturan tertentu.

Contoh kod PHP:

<?php
    // 连接数据库
    $conn = mysqli_connect("localhost", "root", "password", "employee_attendance");

    // 查询数据
    $query = "SELECT employee_id, SUM(late_count) as total_late, SUM(early_leave_count) as total_early_leave
              FROM attendance
              GROUP BY employee_id";

    $result = mysqli_query($conn, $query);

    $attendance_data = [];
    while ($row = mysqli_fetch_assoc($result)) {
        $employee_id = $row['employee_id'];
        $total_late = $row['total_late'];
        $total_early_leave = $row['total_early_leave'];

        $attendance_data[] = [
            "employee_id" => $employee_id,
            "total_late" => $total_late,
            "total_early_leave" => $total_early_leave
        ];
    }

    mysqli_close($conn);
?>

Kemudian, kita boleh menggunakan pustaka Chart.js untuk mencipta histogram untuk menggambarkan keputusan statistik.

Contoh kod HTML:

<!DOCTYPE html>
<html>
<head>
    <title>员工考勤数据可视化</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
    <canvas id="attendanceChart"></canvas>

    <script>
        // 获取考勤数据
        var attendanceData = <?php echo json_encode($attendance_data); ?>;
        
        // 数据处理
        var employeeIds = [];
        var totalLateCounts = [];
        var totalEarlyLeaveCounts = [];

        attendanceData.forEach(function(data) {
            employeeIds.push(data.employee_id);
            totalLateCounts.push(data.total_late);
            totalEarlyLeaveCounts.push(data.total_early_leave);
        });

        // 创建柱状图
        var ctx = document.getElementById('attendanceChart').getContext('2d');
        var chart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: employeeIds,
                datasets: [{
                    label: '迟到次数',
                    data: totalLateCounts,
                    backgroundColor: 'rgba(255, 99, 132, 0.2)',
                    borderColor: 'rgba(255, 99, 132, 1)',
                    borderWidth: 1
                }, {
                    label: '早退次数',
                    data: totalEarlyLeaveCounts,
                    backgroundColor: 'rgba(54, 162, 235, 0.2)',
                    borderColor: 'rgba(54, 162, 235, 1)',
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
    </script>
</body>
</html>

Di atas ialah langkah dan contoh kod khusus untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja. Dengan memasukkan data kehadiran pekerja dan data statistik dan menggunakan perpustakaan Chart.js untuk visualisasi, kami boleh mempunyai pemahaman yang lebih jelas tentang kehadiran pekerja dan memberikan sokongan padu untuk keputusan pengurusan syarikat.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk membangunkan alat visualisasi data kehadiran pekerja?. 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