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 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:
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
return [
'host' => 'localhost', 'username' => 'root', 'password' => 'your_password', 'database' => 'attendance_management',
];
?>
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; }
}
?> ;
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; }
}
?> ;
4. Front-end development
npm install -g @vue/cli
vue create frontend
cd frontend
npm install vue-router axios
<div> <h2>员工考勤记录</h2> <select v-model="selectedEmployee" @change="onEmployeeChange"> <option v-for="employee in employees" :value="employee.id">{{ employee.name }}</option> </select> <table> <thead> <tr> <th>打卡时间</th> <th>下班打卡时间</th> </tr> </thead> <tbody> <tr v-for="record in attendance"> <td>{{ record.check_in_time }}</td> <td>{{ record.check_out_time }}</td> </tr> </tbody> </table> </div>
<script><br>export default {</script>
data() { return { employees: [], selectedEmployee: null, attendance: [] }; }, mounted() { this.getEmployees(); }, methods: { getEmployees() { axios.get('http://localhost/backend/api/employees.php') .then(response => { this.employees = response.data; }) .catch(error => { console.log(error); }); }, onEmployeeChange() { axios.get('http://localhost/backend/api/attendance.php?employeeId=' + this.selectedEmployee) .then(response => { this.attendance = response.data; }) .catch(error => { console.log(error); }); } }
};
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 }
];
const router = new VueRouter({
mode: 'history', base: process.env.BASE_URL, routes
});
export default router;
5. Run the project
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
npm run serve
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!