>  기사  >  백엔드 개발  >  PHP를 사용하여 직원 근태 데이터 재입력 프로그램을 작성하는 방법은 무엇입니까?

PHP를 사용하여 직원 근태 데이터 재입력 프로그램을 작성하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-09-25 08:40:491245검색

PHP를 사용하여 직원 근태 데이터 재입력 프로그램을 작성하는 방법은 무엇입니까?

PHP를 사용하여 직원 출석 데이터를 작성하는 프로그램을 작성하는 방법은 무엇입니까?

정보 기술의 지속적인 발전으로 효율성과 정확성을 높이기 위해 전자적 방법을 사용하여 직원 출석을 관리하는 회사가 점점 더 많아지고 있습니다. 그러나 실제 운영에서는 일부 직원의 출석 데이터가 제때에 시스템에 입력되지 않는 특수한 상황이 항상 존재합니다. 이 문제를 해결하려면 직원 출석 데이터 보충 입력 프로그램을 작성해야 합니다. 이 기사에서는 PHP를 사용하여 이러한 프로그램을 작성하는 방법을 자세히 소개하고 참조할 수 있는 특정 코드 예제를 제공합니다.

1. 요구 사항 분석
프로그램 작성을 시작하기 전에 먼저 우리가 작성하는 직원 근태 데이터 재입력 프로그램에 어떤 기능이 필요한지 확인하기 위해 요구 사항 분석을 수행해야 합니다. 일반적으로 이 프로그램은 최소한 다음 기능을 포함해야 합니다:

  1. 직원 정보 관리: 직원 이름, 직업 번호, 부서 등과 같은 기본 정보의 입력 및 조회 기능을 포함합니다.
  2. 출석 데이터 보충 입력: 직원의 결석 및 지각 상황을 입력하고 보충 인원 및 보충 등록 시간을 기록하는 기능
  3. 보충 등록 데이터 조회: 보충 등록의 출석 데이터는 직원의 이름 또는 직장 번호를 기준으로 조회할 수 있습니다. 분석 : 보충등록의 출석 데이터를 집계하여 직원의 총 결근 및 지각 횟수 등을 분석할 수 있습니다.
  4. 2. 데이터베이스 설계
코드 작성을 시작하기 전에 직원 정보와 출석 데이터를 저장할 데이터베이스 구조를 설계해야 합니다. 데이터베이스 이름이 "attendance"이고 직원 테이블(employee)과 출석 테이블(Attendance)이라는 두 개의 테이블이 포함되어 있다고 가정합니다.


직원 테이블의 필드에는 직원 ID(id), 이름(name), 직원 번호(employee_number), 부서(department) 등이 포함됩니다.

출석 테이블의 필드에는 출석 ID(id), 직원 ID(employee_id), 부재 횟수(absent_times), 지각 횟수(late_times), 보충 인력(rescuer), 보충 시간(rescue_time) 등이 포함됩니다. .

3. 코드 작성

    직원 정보 관리 :
  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. 출석부 항목 :
  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. 부 항목 정보 조회 :
  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. 데이터 통계 및 분석 :
  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. 네 , 테스트 및 최적화
코드 작성을 완료한 후 실제 상황에 따라 성능 최적화를 테스트하고 수행해야 합니다. 브라우저를 이용하여 작성된 PHP 파일에 접근하여 각 기능이 정상적인지 테스트하고 잠재적인 보안 취약점이 있는지 주의 깊게 확인할 수 있습니다.


요약:

직원 근태 데이터 재입력 프로그램을 작성하려면 요구사항 분석, 데이터베이스 설계, 코드 작성 등 여러 단계가 필요합니다. 이 기사에서는 독자의 참고를 위한 샘플 프로그램을 제공합니다. 실제 사용 시 실제 필요에 따라 확장 및 최적화하여 기업의 실제 상황에 더욱 적합하게 만들 수 있습니다.

위 내용은 PHP를 사용하여 직원 근태 데이터 재입력 프로그램을 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.