Maison >développement back-end >tutoriel php >Comment comparer les données de présence des employés via PHP ?
Comment comparer les données de présence des employés via PHP ?
En termes de gestion de la présence des employés de l'entreprise, il est important de comparer les données de présence réelles des employés avec les données de présence prédéfinies. Grâce au langage de programmation PHP, nous pouvons facilement comparer les données de présence des employés et effectuer le traitement et l'analyse correspondants. Ce qui suit présente comment utiliser PHP pour comparer les données de présence des employés et fournit des exemples de code spécifiques.
Tout d'abord, vous devez concevoir une base de données pour stocker les données de présence des employés et les données de présence prédéfinies. Ici, en prenant MySQL comme exemple, deux tables sont créées : Employee_attendance et preset_attendance. La table
employee_attendance est utilisée pour stocker les données de présence réelles des employés et contient les champs suivants :
preset_attendance est utilisée pour stocker les données de présence prédéfinies et contient les champs suivants :
Tout d'abord, connectez-vous à la base de données MySQL :
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "attendance"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } ?>
Ensuite, écrivez une fonction pour comparer les données de présence réelles de l'employé avec les données de présence prédéfinies , et affiche le résultat de la comparaison :
<?php function compareAttendance($employeeId, $date) { global $conn; // 查询实际考勤数据 $sql = "SELECT check_in_time, check_out_time FROM employee_attendance WHERE employee_id='$employeeId' AND date='$date'"; $result = $conn->query($sql); $row = $result->fetch_assoc(); // 查询预设考勤数据 $sql = "SELECT check_in_time, check_out_time FROM preset_attendance WHERE employee_id='$employeeId' AND date='$date'"; $result = $conn->query($sql); $presetRow = $result->fetch_assoc(); // 比对考勤数据 if ($row["check_in_time"] == $presetRow["check_in_time"] && $row["check_out_time"] == $presetRow["check_out_time"]) { echo "考勤数据匹配"; } else { echo "考勤数据不匹配"; } } // 示例调用函数 compareAttendance(1, "2022-01-01"); ?>
Le code ci-dessus interrogera les données de présence réelles correspondantes et les données de présence prédéfinies dans la base de données en fonction de l'ID et de la date de l'employé entrant, puis comparera l'heure d'arrivée des deux. S'il existe une correspondance complète, "Les données de présence correspondent" est affiché, sinon "Les données de présence ne correspondent pas" est affiché.
Grâce aux exemples de code PHP ci-dessus et à la conception de la base de données, nous pouvons facilement implémenter la fonction de comparaison des données de présence des employés. Dans les applications réelles, le code peut être encore amélioré si nécessaire, par exemple en ajoutant davantage de règles de comparaison et de logique de gestion des exceptions de présence pour répondre aux besoins spécifiques de l'entreprise.
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!