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

Bagaimana untuk menggunakan PHP untuk membangunkan alat paparan carta untuk data kehadiran pekerja?

PHPz
PHPzasal
2023-09-24 14:07:461284semak imbas

Bagaimana untuk menggunakan PHP untuk membangunkan alat paparan carta untuk data kehadiran pekerja?

Bagaimana untuk menggunakan PHP untuk membangunkan alat paparan carta untuk data kehadiran pekerja?

1. Pengenalan
Paparan carta data kehadiran pekerja adalah bahagian yang sangat penting dalam pengurusan perusahaan. Melalui paparan carta, anda secara intuitif boleh memahami status kehadiran pekerja, dan membantu pengurus mengira kadar kehadiran pekerja, kadar kelewatan, kadar keluar awal dan penunjuk lain, untuk membuat pelarasan dan penambahbaikan yang sepadan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan alat paparan carta untuk data kehadiran pekerja.

2. Persediaan teknikal

  1. Persekitaran PHP: Pastikan persekitaran PHP telah dipasang pada pelayan dan sambungan yang berkaitan (seperti perpustakaan GD, galeri hasil, dll.) didayakan.
  2. Pangkalan data: Sediakan pangkalan data untuk menyimpan data kehadiran pekerja. Pangkalan data seperti MySQL dan SQLite boleh digunakan.
  3. Alat pembangunan: Pilih alatan pembangunan yang sesuai, seperti Teks Sublime, PhpStorm, dsb.

3. Reka bentuk pangkalan data
Pertama, anda perlu mereka bentuk jadual pangkalan data untuk menyimpan data kehadiran pekerja. Katakan kita perlu merekodkan masa kehadiran pekerja, status punch-in dan lain-lain, kita boleh reka bentuk jadual berikut:

| id_pekerja | 1001 |. 01-01 08: 30:00 |.

| 2 | |

|. .. |. ... |. Sambungan pangkalan data dan pertanyaan data boleh dilakukan menggunakan sambungan seperti MySQLi atau PDO. Berikut ialah contoh kod untuk mendapatkan data kehadiran pekerja:

<?php
// 数据库连接配置
$host = 'localhost';
$dbname = 'attendance';
$username = 'root';
$password = '';

// 连接数据库
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

// 查询员工考勤数据
$query = $conn->query('SELECT * FROM attendance');
$attendanceData = $query->fetchAll(PDO::FETCH_ASSOC);

// 输出数据
echo json_encode($attendanceData);
?>

Kod di atas akan menanyakan semua data kehadiran pekerja dalam pangkalan data dan mengeluarkannya dalam format JSON.

5. Paparan carta

Selepas mendapatkan data kehadiran pekerja, kami boleh menggunakan perpustakaan carta pihak ketiga untuk menjana carta. Berikut ialah contoh penggunaan Carta Google:

<!DOCTYPE html>
<html>
<head>
    <title>员工考勤数据图表展示</title>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
        google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(drawChart);
        
        function drawChart() {
            // 获取员工考勤数据
            var attendanceData = <?php echo json_encode($attendanceData); ?>;
            
            // 构造数据表
            var data = new google.visualization.DataTable();
            data.addColumn('date', '时间');
            data.addColumn('number', '出勤率');
            
            // 将数据添加到数据表
            attendanceData.forEach(function(record) {
                var date = new Date(record.time);
                var attendanceRate = record.status == 1 ? 1 : 0;
                data.addRow([date, attendanceRate]);
            });
            
            // 设置图表配置
            var options = {
                title: '员工考勤数据',
                curveType: 'function',
                legend: { position: 'bottom' }
            };
            
            // 实例化图表对象
            var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
            
            // 绘制图表
            chart.draw(data, options);
        }
    </script>
</head>
<body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>

Kod di atas akan menggunakan Carta Google untuk melukis carta lengkung untuk menunjukkan kadar kehadiran pekerja. Abscissa carta ialah masa, dan ordinat ialah kadar kehadiran (1 ialah kehadiran, 0 ialah ketidakhadiran).


6. Ringkasan

Melalui langkah di atas, kita boleh menggunakan PHP untuk membangunkan alat paparan carta data kehadiran pekerja yang mudah. Pada masa yang sama, mengikut keperluan khusus, kami boleh mengembangkan lagi fungsi, seperti menambah keadaan penapis, memperkenalkan perpustakaan carta lain, dll., untuk memenuhi keperluan perniagaan yang berbeza. Saya harap artikel ini akan membantu anda dalam mempelajari dan menggunakan PHP untuk membangunkan alat paparan carta.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk membangunkan alat paparan carta untuk 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