PHP와 Vue를 사용하여 온라인 직원 출석에 대한 예외 처리 메커니즘을 개발하는 방법
다음으로 PHP를 사용하여 백엔드 인터페이스를 개발합니다. 먼저 데이터베이스 연결 정보를 구성하기 위해 config.php라는 파일을 생성합니다. 샘플 코드는 다음과 같습니다.
<?php $host = 'localhost'; // 数据库主机名 $dbName = 'attendance'; // 数据库名 $username = 'root'; // 数据库用户名 $password = '123456'; // 数据库密码
그런 다음 데이터베이스 작업을 위한 함수를 캡슐화하기 위해 db.php라는 파일을 만듭니다. 샘플 코드는 다음과 같습니다.
<?php function connect() { global $host, $dbName, $username, $password; $conn = new mysqli($host, $username, $password, $dbName); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } return $conn; } function query($conn, $sql) { $result = $conn->query($sql); $rows = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $rows[] = $row; } } return $rows; } function insert($conn, $sql) { return $conn->query($sql); }
다음으로 직원 관련 인터페이스를 제공하기 위해 Employee.php라는 파일을 생성합니다. 샘플 코드는 다음과 같습니다.
<?php require_once 'config.php'; require_once 'db.php'; function getEmployees() { $conn = connect(); $sql = 'SELECT * FROM employee'; $rows = query($conn, $sql); $conn->close(); return $rows; } $method = $_SERVER['REQUEST_METHOD']; if ($method === 'GET') { echo json_encode(getEmployees()); }
마찬가지로 출석 관련 인터페이스를 제공하기 위해 Attention.php라는 파일을 생성합니다. 샘플 코드는 다음과 같습니다.
<?php require_once 'config.php'; require_once 'db.php'; function getAttendance($employeeId, $month) { $conn = connect(); $sql = "SELECT * FROM attendance WHERE employee_id = $employeeId AND DATE_FORMAT(date, '%Y-%m') = '$month'"; $rows = query($conn, $sql); $conn->close(); return $rows; } function addAttendance($employeeId, $date, $startTime, $endTime) { $conn = connect(); $sql = "INSERT INTO attendance (employee_id, date, start_time, end_time) VALUES ($employeeId, '$date', '$startTime', '$endTime')"; $result = insert($conn, $sql); $conn->close(); return $result; } $method = $_SERVER['REQUEST_METHOD']; if ($method === 'GET') { $employeeId = $_GET['employee_id']; $month = $_GET['month']; echo json_encode(getAttendance($employeeId, $month)); } elseif ($method === 'POST') { $employeeId = $_POST['employee_id']; $date = $_POST['date']; $startTime = $_POST['start_time']; $endTime = $_POST['end_time']; echo json_encode(addAttendance($employeeId, $date, $startTime, $endTime)); }
npm install vue axios --save
다음으로 출석 기록을 표시하기 위해 Attendance.vue라는 파일을 만듭니다. 샘플 코드는 다음과 같습니다.
<template> <div> <h2>考勤记录</h2> <div v-for="record in records" :key="record.id"> <p>{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}</p> <p v-if="record.exception === 1" style="color: red;">异常</p> </div> </div> </template> <script> import axios from 'axios'; export default { data() { return { records: [], }; }, mounted() { this.getAttendance(); }, methods: { getAttendance() { const employeeId = 1; const month = '2021-01'; axios.get(`http://localhost/attendance.php?employee_id=${employeeId}&month=${month}`) .then((response) => { this.records = response.data; }) .catch((error) => { console.error(error); }); }, }, }; </script> <style scoped> h2 { font-size: 20px; font-weight: bold; } </style>
function checkException($startTime, $endTime) { $start = strtotime($startTime); $end = strtotime($endTime); $workStart = strtotime('09:00:00'); $workEnd = strtotime('18:00:00'); if ($start > $workStart && $end < $workEnd) { return 0; // 正常 } else { return 1; // 异常 } } function addAttendance($employeeId, $date, $startTime, $endTime) { $exception = checkException($startTime, $endTime); $conn = connect(); $sql = "INSERT INTO attendance (employee_id, date, start_time, end_time, exception) VALUES ($employeeId, '$date', '$startTime', '$endTime', $exception)"; $result = insert($conn, $sql); $conn->close(); return $result; }
Attendance.vue 파일에서는 예외 표시를 기반으로 예외 정보를 표시할 수 있습니다. 샘플 코드는 다음과 같습니다.
<template> <div> <h2>考勤记录</h2> <div v-for="record in records" :key="record.id"> <p>{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}</p> <p v-if="record.exception === 1" style="color: red;">异常</p> </div> </div> </template>
이 시점에서 PHP와 Vue를 사용하여 온라인 직원 출석 시스템 개발을 위한 예외 처리 메커니즘 구현을 완료했습니다.
요약
이 글에서는 PHP와 Vue를 사용하여 온라인 직원 출석 시스템을 개발하는 방법을 소개하고 예외 처리 메커니즘 구현에 중점을 둡니다. 데이터베이스 테이블 구조를 합리적으로 설계하고, PHP를 사용하여 백엔드 인터페이스를 개발하고, Vue를 사용하여 프론트엔드 인터페이스를 개발함으로써 온라인 직원 출석 시스템을 효율적으로 구현하고 출석 데이터의 정확성과 처리 효율성을 향상시킬 수 있습니다. 동시에 예외 처리 메커니즘을 구현함으로써 출석 이상 현상을 적시에 발견할 수 있어 관리자가 보다 쉽게 처리하고 추적할 수 있습니다.
위 내용은 PHP와 Vue를 사용하여 온라인 직원 출석을 위한 예외 처리 메커니즘을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!