Home Backend Development PHP Tutorial How to use PHP and Vue to build an employee attendance management panel

How to use PHP and Vue to build an employee attendance management panel

Sep 27, 2023 am 09:06 AM
php vue staff attendance

How to use PHP and Vue to build an employee attendance management panel

How to use PHP and Vue to build an employee attendance management panel

With the expansion of enterprise scale, employee management and attendance supervision have become important aspects of daily work. In order to improve work efficiency and reduce labor costs, many companies choose to use computer technology to manage employee attendance records. This article will introduce how to use PHP and Vue to build a simple and effective employee attendance management panel.

1. Preparation work

Before starting to build the employee attendance management panel, we need to ensure that the following preparations are in place:

  1. Server environment: Make sure that the server has PHP and MySQL installed.
  2. Development environment: It is recommended to use an integrated development environment (IDE) such as xampp, wamp, etc., which can facilitate code writing and debugging.
  3. Front-end framework: We choose to use Vue as the front-end framework because it is easy to use and has rich functions.
  4. Database: We will use MySQL as the database to store employee attendance records.

2. Create database and table structure

Create a database named "attendance" in MySQL and create the following table structure:

Employee table ( employees):

CREATE TABLE employees (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  department VARCHAR(255) NOT NULL
);
Copy after login

Attendance record table (attendance_records):

CREATE TABLE attendance_records (
  id INT AUTO_INCREMENT PRIMARY KEY,
  employee_id INT NOT NULL,
  date DATE NOT NULL,
  time_in TIME NOT NULL,
  time_out TIME,
  FOREIGN KEY (employee_id) REFERENCES employees(id)
);
Copy after login

3. Back-end development

  1. Connect to the database

In In PHP, we need to use extensions such as mysqli or PDO to connect to the database. The following is a sample code to connect to the MySQL database:

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "attendance";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}
?>
Copy after login
  1. Create API interface

We need to create many API interfaces to handle the addition, deletion, modification and query operations of employees and attendance records. The following is a sample code to obtain the employee list:

<?php
// 获取员工列表
$sql = "SELECT * FROM employees";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    $employees = array();

    while($row = $result->fetch_assoc()) {
        $employees[] = $row;
    }

    // 将结果转成JSON格式
    echo json_encode($employees);
} else {
    echo "暂无员工";
}
?>
Copy after login

In a similar way, we can create other API interfaces to handle the addition, deletion, modification and query operations of employees and attendance records.

4. Front-end development

  1. Create a Vue project

Execute the following command on the command line to create a Vue project:

vue create attendance-management-panel
Copy after login

Select the default configuration according to the prompts.

  1. Create routes and views

Use Vue Router to create routes and views for displaying employee lists, attendance records, etc.

  1. Initiate a request

Use axios or other Ajax libraries to initiate an HTTP request to obtain back-end data. The following is a sample code that obtains a list of employees and displays it on the page:

import axios from 'axios';

export default {
    data() {
        return {
            employees: []
        }
    },

    mounted() {
        axios.get('/api/employees')
            .then(response => {
                this.employees = response.data;
            })
            .catch(error => {
                console.log(error);
            });
    }
}
Copy after login

As needed, you can create other components to implement the addition, deletion, modification, and query functions of employee attendance records.

5. Deployment and Testing

Package the front-end code and put it in the web directory of the server, and upload the back-end code to the server. Make sure PHP and MySQL are configured correctly on the server.

You can test the function of the employee attendance management panel by accessing the website through a browser.

Conclusion

This article introduces how to use PHP and Vue to build an employee attendance management panel, and provides relevant code examples. Of course, this is just a simple example, and actual applications need to be adjusted and expanded according to specific needs. But I believe that through this example, you already have a certain understanding of how to use PHP and Vue to build an employee attendance management panel. Hope this article helps you!

The above is the detailed content of How to use PHP and Vue to build an employee attendance management panel. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How can you prevent a class from being extended or a method from being overridden in PHP? (final keyword) How can you prevent a class from being extended or a method from being overridden in PHP? (final keyword) Apr 08, 2025 am 12:03 AM

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

How to reference js file with vue.js How to reference js file with vue.js Apr 07, 2025 pm 11:27 PM

There are three ways to refer to JS files in Vue.js: directly specify the path using the &lt;script&gt; tag;; dynamic import using the mounted() lifecycle hook; and importing through the Vuex state management library.

How to use watch in vue How to use watch in vue Apr 07, 2025 pm 11:36 PM

The watch option in Vue.js allows developers to listen for changes in specific data. When the data changes, watch triggers a callback function to perform update views or other tasks. Its configuration options include immediate, which specifies whether to execute a callback immediately, and deep, which specifies whether to recursively listen to changes to objects or arrays.

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

What does it mean to lazy load vue? What does it mean to lazy load vue? Apr 07, 2025 pm 11:54 PM

In Vue.js, lazy loading allows components or resources to be loaded dynamically as needed, reducing initial page loading time and improving performance. The specific implementation method includes using &lt;keep-alive&gt; and &lt;component is&gt; components. It should be noted that lazy loading can cause FOUC (splash screen) issues and should be used only for components that need lazy loading to avoid unnecessary performance overhead.

How to add functions to buttons for vue How to add functions to buttons for vue Apr 08, 2025 am 08:51 AM

You can add a function to the Vue button by binding the button in the HTML template to a method. Define the method and write function logic in the Vue instance.

How to query the version of vue How to query the version of vue Apr 07, 2025 pm 11:24 PM

You can query the Vue version by using Vue Devtools to view the Vue tab in the browser's console. Use npm to run the "npm list -g vue" command. Find the Vue item in the "dependencies" object of the package.json file. For Vue CLI projects, run the "vue --version" command. Check the version information in the &lt;script&gt; tag in the HTML file that refers to the Vue file.

How to return to previous page by vue How to return to previous page by vue Apr 07, 2025 pm 11:30 PM

Vue.js has four methods to return to the previous page: $router.go(-1)$router.back() uses &lt;router-link to=&quot;/&quot; component window.history.back(), and the method selection depends on the scene.

See all articles