Comment utiliser PHP et Vue pour développer un mécanisme de gestion des exceptions pour la présence en ligne des employés
Ensuite, nous utilisons PHP pour développer l'interface backend. Tout d’abord, nous créons un fichier nommé config.php pour configurer les informations de connexion à la base de données. L'exemple de code est le suivant :
Copier après la connexion
Ensuite, nous créons un fichier nommé db.php pour encapsuler les fonctions pour les opérations de base de données. L'exemple de code est le suivant :
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); }
Ensuite, nous créons un fichier nommé employé.php pour fournir des interfaces liées aux employés. L'exemple de code est le suivant :
close(); return $rows; } $method = $_SERVER['REQUEST_METHOD']; if ($method === 'GET') { echo json_encode(getEmployees()); }
De même, nous créons un fichier nommé fréquentation.php pour fournir des interfaces liées à la présence. L'exemple de code est le suivant :
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
Ensuite, nous créons un fichier nommé Attendance.vue pour afficher les enregistrements de présence. L'exemple de code est le suivant :
考勤记录
{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}
异常
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; }
Dans le fichier Attendance.vue, nous pouvons afficher des informations sur les exceptions basées sur la marque d'exception. L'exemple de code est le suivant :
考勤记录
{{ record.date }}: {{ record.start_time }} - {{ record.end_time }}
异常
À ce stade, nous avons terminé la mise en œuvre du mécanisme de gestion des exceptions pour développer un système de présence des employés en ligne utilisant PHP et Vue.
Résumé
Cet article présente comment utiliser PHP et Vue pour développer un système de présence des employés en ligne et se concentre sur la mise en œuvre du mécanisme de gestion des exceptions. En concevant rationnellement la structure des tables de la base de données, en utilisant PHP pour développer l'interface back-end et en utilisant Vue pour développer l'interface front-end, nous pouvons mettre en œuvre efficacement un système de présence en ligne des employés et améliorer l'exactitude et l'efficacité du traitement des données de présence. Dans le même temps, grâce à la mise en œuvre du mécanisme de gestion des exceptions, les exceptions de présence peuvent être découvertes à temps, ce qui facilite leur gestion et leur suivi par les gestionnaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!