Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour écrire un programme de ré-saisie des données de présence des employés ?

Comment utiliser PHP pour écrire un programme de ré-saisie des données de présence des employés ?

WBOY
WBOYoriginal
2023-09-25 08:40:491193parcourir

Comment utiliser PHP pour écrire un programme de ré-saisie des données de présence des employés ?

Comment utiliser PHP pour écrire un programme de rentrée des données de présence des employés ?

Avec le développement continu des technologies de l'information, de plus en plus d'entreprises commencent à utiliser des méthodes électroniques pour gérer la présence des employés afin d'améliorer l'efficacité et la précision. Cependant, dans les opérations réelles, il existe toujours des circonstances particulières qui empêchent la saisie à temps des données de présence de certains employés dans le système. Cela nous oblige à écrire un programme de saisie supplémentaire des données de présence des employés pour résoudre ce problème. Cet article présentera en détail comment écrire un tel programme en utilisant PHP et fournira des exemples de code spécifiques pour référence.

1. Analyse des exigences
Avant de commencer à rédiger le programme, nous devons d'abord effectuer une analyse des besoins pour déterminer les fonctions que le programme de ré-saisie des données de présence des employés que nous écrivons doit avoir. D'une manière générale, ce programme doit inclure au moins les fonctions suivantes :

  1. Gestion des informations sur les employés : y compris les fonctions de saisie et d'interrogation des informations de base telles que les noms des employés, les numéros de poste, les services, etc.
  2. Saisie supplémentaire des données de présence : la possibilité de saisir la situation des absences et des retards des employés, et d'enregistrer le personnel supplémentaire et le temps d'inscription supplémentaire ;
  3. Requête de données d'inscription supplémentaire : peut interroger les données de présence d'inscription supplémentaire en fonction du nom ou du numéro de travail de l'employé ; peut effectuer des statistiques et des analyses de données supplémentaires sur la fréquentation des inscriptions, telles que le calcul du nombre total d'absences et de retards pour un employé.
  4. 2. Conception de la base de données
Avant de commencer à écrire du code, nous devons concevoir la structure de la base de données pour stocker les informations sur les employés et les données de présence. Supposons que notre base de données s'appelle « Présence » et contienne deux tables : la table des employés (employé) et la table des présences (Présence).


Les champs de la table des employés comprennent : l'identifiant de l'employé (id), le nom (nom), le numéro d'employé (employee_number), le service (département), etc.

Les champs du tableau de présence comprennent : l'identifiant de présence (id), l'identifiant d'employé (employee_id), le nombre d'absences (absent_times), le nombre d'arrivées tardives (late_times), le personnel supplémentaire (sauveteur), le temps supplémentaire (rescue_time), etc. .

3. Rédaction du code

    Gestion des informations sur les employés :
  1. // 添加员工信息
    function addEmployee($name, $employee_number, $department) {
     // 连接到数据库
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     // 插入数据
     $sql = "INSERT INTO employee (name, employee_number, department) VALUES ('$name', '$employee_number', '$department')";
     mysqli_query($conn, $sql);
     // 关闭数据库连接
     mysqli_close($conn);
    }
    
    // 查询员工信息
    function searchEmployee($name) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "SELECT * FROM employee WHERE name = '$name'";
     $result = mysqli_query($conn, $sql);
     $data = mysqli_fetch_assoc($result);
     mysqli_close($conn);
     return $data;
    }

  2. Saisie supplémentaire des données de présence :
  3. // 录入考勤数据
    function addAttendance($employee_id, $absent_times, $late_times, $rescuer, $rescue_time) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "INSERT INTO Attendance (employee_id, absent_times, late_times, rescuer, rescue_time) VALUES ('$employee_id', '$absent_times', '$late_times', '$rescuer', '$rescue_time')";
     mysqli_query($conn, $sql);
     mysqli_close($conn);
    }

  4. Requête de données d'entrée supplémentaire :
  5. // 根据员工姓名查询补录的考勤数据
    function searchAttendanceByName($name) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "SELECT * FROM Attendance INNER JOIN employee ON Attendance.employee_id = employee.id WHERE employee.name = '$name'";
     $result = mysqli_query($conn, $sql);
     $data = mysqli_fetch_assoc($result);
     mysqli_close($conn);
     return $data;
    }
    
    // 根据员工工号查询补录的考勤数据
    function searchAttendanceByNumber($employee_number) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "SELECT * FROM Attendance INNER JOIN employee ON Attendance.employee_id = employee.id WHERE employee.employee_number = '$employee_number'";
     $result = mysqli_query($conn, $sql);
     $data = mysqli_fetch_assoc($result);
     mysqli_close($conn);
     return $data;
    }

  6. Statistiques et analyse des données :
  7. // 统计某个员工的总缺勤次数
    function getTotalAbsentTimes($employee_id) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "SELECT SUM(absent_times) AS total_absent_times FROM Attendance WHERE employee_id = '$employee_id'";
     $result = mysqli_query($conn, $sql);
     $data = mysqli_fetch_assoc($result);
     mysqli_close($conn);
     return $data['total_absent_times'];
    }
    
    // 统计某个员工的总迟到次数
    function getTotalLateTimes($employee_id) {
     $conn = mysqli_connect("localhost", "root", "password", "attendance");
     $sql = "SELECT SUM(late_times) AS total_late_times FROM Attendance WHERE employee_id = '$employee_id'";
     $result = mysqli_query($conn, $sql);
     $data = mysqli_fetch_assoc($result);
     mysqli_close($conn);
     return $data['total_late_times'];
    }

  8. Quatre , Tests et optimisation
Après avoir terminé l'écriture du code, nous devons tester et effectuer une optimisation des performances en fonction de la situation réelle. Vous pouvez utiliser un navigateur pour accéder au fichier PHP écrit, tester si chaque fonction est normale et vérifier s'il existe des failles de sécurité potentielles.


Résumé :

La rédaction d'un programme de rentrée des données de présence des employés nécessite plusieurs étapes telles que l'analyse de la demande, la conception de la base de données et l'écriture du code. Cet article fournit un exemple de programme pour référence aux lecteurs. En utilisation réelle, il peut être étendu et optimisé en fonction des besoins réels pour le rendre plus adapté à la situation réelle 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