Home > Backend Development > PHP Tutorial > How to use PHP and Vue to develop online employee attendance punch record query

How to use PHP and Vue to develop online employee attendance punch record query

WBOY
Release: 2023-09-24 16:46:01
Original
1123 people have browsed it

How to use PHP and Vue to develop online employee attendance punch record query

How to use PHP and Vue to develop online punch-in record query for employee attendance

In modern enterprises, employee attendance management is a very important task. Traditional manual records are error-prone and inconvenient for query and statistics. With the powerful functions of PHP and Vue, we can develop an online employee attendance punch record query system, making attendance management more efficient, convenient and accurate.

1. Project preparation
Before starting, we need to prepare the following development environment and tools:

  • A PHP development environment (such as XAMPP)
  • A text editor (such as Sublime Text, Visual Studio Code, etc.)
  • A MySQL database
  • Vue.js development environment (you can use Vue CLI)

2. Database design
We need to create a MySQL database to store employee information and punch-in records. Design a database named "attendance_management", containing two tables: employees and attendance. The employees table is used to store basic information of employees, including fields: id (auto-incrementing primary key), name (employee name), department (department to which they belong), etc. The attendance table is used to store attendance records, including fields: id (auto-increment primary key), employee_id (employee id), check_in_time (clock in time), check_out_time (clock in time), etc.

3. Backend development

  1. Create a project folder named "attendance_management".
  2. Create a folder named "backend" under the project folder to store background-related code.
  3. Create a folder named "config" under the backend folder to store the configuration file.
  4. Create a folder named "api" under the backend folder to store API-related code.
  5. Create a file named "database.php" in the config folder to configure database connection information.

return [

'host' => 'localhost',
'username' => 'root',
'password' => 'your_password',
'database' => 'attendance_management',
Copy after login

];
?>

  1. Create a name under the api folder The file "employees.php" is used to handle employee-related API requests.

require_once '../config/database.php';

class Employees {

private $conn;
private $table = 'employees';

public function __construct($db) {
    $this->conn = $db;
}

public function getEmployees() {
    $query = 'SELECT * FROM ' . $this->table;

    $stmt = $this->conn->prepare($query);
    $stmt->execute();

    return $stmt;
}
Copy after login

}
?> ;

  1. Create a file named "attendance.php" in the api folder to handle attendance-related API requests.

require_once '../config/database.php';

class Attendance {

private $conn;
private $table = 'attendance';

public function __construct($db) {
    $this->conn = $db;
}

public function getAttendanceByEmployeeId($employeeId) {
    $query = 'SELECT * FROM ' . $this->table . ' WHERE employee_id = ?';

    $stmt = $this->conn->prepare($query);
    $stmt->bindParam(1, $employeeId);
    $stmt->execute();

    return $stmt;
}
Copy after login

}
?> ;

4. Front-end development

  1. Open the command line in the project folder and execute the following command to install Vue CLI (you need to ensure that Node.js is installed):

npm install -g @vue/cli

  1. Execute the following command in the project folder to create a Vue project named "frontend":

vue create frontend

  1. Enter the frontend folder and execute the following command to install Vue Router and Axios:

cd frontend
npm install vue-router axios

  1. Create a folder named "components" in the frontend/src directory to store Vue components.
  2. Create a file named "Attendance.vue" under the components folder to display attendance records.

<script><br>export default {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>data() { return { employees: [], selectedEmployee: null, attendance: [] }; }, mounted() { this.getEmployees(); }, methods: { getEmployees() { axios.get('http://localhost/backend/api/employees.php') .then(response =&gt; { this.employees = response.data; }) .catch(error =&gt; { console.log(error); }); }, onEmployeeChange() { axios.get('http://localhost/backend/api/attendance.php?employeeId=' + this.selectedEmployee) .then(response =&gt; { this.attendance = response.data; }) .catch(error =&gt; { console.log(error); }); } }</pre><div class="contentsignin">Copy after login</div></div><p>}; <br></script>

  1. Add routing configuration in the frontend/src/router/index.js file.

import Vue from 'vue';
import VueRouter from 'vue-router';
import Attendance from '../components/Attendance.vue';

Vue.use(VueRouter);

const routes = [

{
    path: '/',
    name: 'Attendance',
    component: Attendance
}
Copy after login

];

const router = new VueRouter({

mode: 'history',
base: process.env.BASE_URL,
routes
Copy after login

});

export default router;

5. Run the project

  1. First start the PHP development environment (such as XAMPP) and ensure that the database connection is normal.
  2. Create a file named ".htaccess" in the backend folder to configure URL rewriting.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

  1. Execute the following command in the frontend folder to run the Vue project:

npm run serve

  1. Open the browser and visit http:/ /localhost:8080, you can see the employee attendance record interface.
  2. After selecting an employee, the page will call the backend API based on the employee's ID to obtain the employee's punch-in record and display it in the table.

Through the above development steps, we successfully implemented an online employee attendance check-in record query system developed using PHP and Vue. Users can view their attendance records by selecting employees, which not only improves the efficiency of attendance management but also reduces the occurrence of human errors. At the same time, this project also shows us the basic steps and technical points of how to combine PHP and Vue for full-stack development. I hope this article is helpful to you and I wish you good luck with your programming!

The above is the detailed content of How to use PHP and Vue to develop online employee attendance punch record query. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template