Maison  >  Article  >  développement back-end  >  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 ?

王林
王林original
2023-09-25 13:03:291345parcourir

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.

  1. Conception de base de données

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 :

  • id : ID du dossier de présence des employés
  • employee_id : ID de l'employé
  • date : date de présence
  • check_in_time : horloge à l'heure
  • check_out_time : pointage après le travail La table time

preset_attendance est utilisée pour stocker les données de présence prédéfinies et contient les champs suivants :

  • id : ID d'enregistrement de présence prédéfini
  • employee_id : ID d'employé
  • date : Date de présence
  • check_in_time : Temps de travail prédéfini
  • check_out_time : temps de repos prédéfini
  1. Implémentation du code PHP

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é.

  1. Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn