PHP를 사용하여 직원 출석 데이터 시각화 도구를 개발하는 방법은 무엇입니까?
현대 기업에서 직원 근태 관리는 매우 중요한 작업입니다. 직원 출석을 더 잘 관리하고 분석하기 위해 많은 회사에서는 직원 출석 데이터를 표시하고 계산하는 데이터 시각화 도구를 채택했습니다. 이 기사에서는 PHP를 사용하여 직원 근태 데이터 시각화 도구를 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
먼저 구현하려는 기능과 데이터 구조를 명확히 해야 합니다. 일반적으로 직원 출석 데이터에는 출근 번호, 날짜, 근무 시간, 퇴근 시간, 지각 횟수, 조기 퇴근 횟수 등의 정보가 포함됩니다. 이 데이터를 데이터베이스에 저장하고 데이터 쿼리 및 시각화를 위해 PHP를 사용해야 합니다.
먼저 "employee_attendance"라는 이름의 데이터베이스를 생성한 다음 "attendance"라는 이름의 데이터 테이블을 생성하여 직원 출석 데이터를 저장합니다. 데이터 테이블의 구조는 다음과 같습니다.
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 );
직원이 출근하거나 퇴근할 때마다 해당 출석 데이터를 데이터베이스에 입력합니다. 데이터 입력 기능은 HTML 양식과 PHP 코드를 사용하여 구현할 수 있습니다.
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>
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); ?>
다음으로 PHP와 Chart.js 라이브러리를 사용하여 직원 출석 데이터를 시각화하겠습니다. 먼저, 데이터베이스에서 직원 출석 데이터를 가져와 특정 규칙에 따라 통계 및 그룹화를 수행해야 합니다.
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); ?>
그런 다음 Chart.js 라이브러리를 사용하여 히스토그램을 만들어 통계 결과를 시각화할 수 있습니다.
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>
위는 PHP를 사용하여 직원 근태 데이터 시각화 도구를 개발하는 구체적인 단계와 코드 예입니다. 직원 출석 데이터 및 통계를 입력하고 시각화를 위해 Chart.js 라이브러리를 사용함으로써 직원 출석을 보다 명확하게 이해하고 회사의 경영 결정에 강력한 지원을 제공할 수 있습니다.
위 내용은 PHP를 사용하여 직원 출석 데이터 시각화 도구를 개발하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!