[下划线 请假系统源代码PHP]
请假是每个员工都可能面临的情况,为了规范请假流程并提高效率,许多公司采用了请假系统。下面是一个基于PHP的请假系统的源代码。
**1. 数据库设计:**
```sql
CREATE TABLE `leave_requests` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`employee_name` VARCHAR(255) NOT NULL,
`start_date` DATE NOT NULL,
`end_date` DATE NOT NULL,
`reason` TEXT NOT NULL,
`status` ENUM('Pending', 'Approved', 'Rejected') NOT NULL DEFAULT 'Pending',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
**2. 核心逻辑代码:**
- **index.php**:显示请假列表和添加请假表单。
```php
include('config.php');
include('functions.php');
$leaveRequests = getLeaveRequests();
?>
请假列表
员工姓名 | 开始日期 | 结束日期 | 原因 | 状态 | 操作 |
---|---|---|---|---|---|
|
添加请假申请
```
- **config.php**:保存数据库连接配置信息。
```php
$db_host = 'localhost';
$db_username = 'root';
$db_password = 'password';
$db_name = 'leave_system';
$conn = new mysqli($db_host, $db_username, $db_password, $db_name);
if ($conn->connect_error) {
die("连接数据库失败: " . $conn->connect_error);
}
?>
```
- **functions.php**:包含一些常用的函数。
```php
function getLeaveRequests() {
global $conn;
$sql = "SELECT * FROM leave_requests";
$result = $conn->query($sql);
$leaveRequests = array();
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$leaveRequests[] = $row;
}
}
return $leaveRequests;
}
function addLeaveRequest($employee_name, $start_date, $end_date, $reason) {
global $conn;
$sql = "INSERT INTO leave_requests (employee_name, start_date, end_date, reason)
VALUES ('$employee_name', '$start_date', '$end_date', '$reason')";
if ($conn->query($sql) === TRUE) {
return true;
} else {
return false;
}
}
function approveLeaveRequest($id) {
global $conn;
$sql = "UPDATE leave_requests SET status='Approved' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
return true;
} else {
return false;
}
}
function rejectLeaveRequest($id) {
global $conn;
$sql = "UPDATE leave_requests SET status='Rejected' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
return true;
} else {
return false;
}
}
?>
```
- **add_request.php**:处理添加请假申请的请求。
```php
include('config.php');
include('functions.php');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$employee_name = $_POST['employee_name'];
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
$reason = $_POST['reason'];
if (addLeaveRequest($employee_name, $start_date, $end_date, $reason)) {
header('Location: index.php');
exit();
} else {
echo '添加请假申请失败!';
}
}
?>
```
- **approve.php**:处理同意请假请求的操作。
```php
include('config.php');
include('functions.php');
if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['id'])) {
$id = $_GET['id'];
if (approveLeaveRequest($id)) {
header('Location: index.php');
exit();
} else {
echo '操作失败!';
}
}
?>
```
- **reject.php**:处理拒绝请假请求的操作。
```php
include('config.php');
include('functions.php');
if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['id'])) {
$id = $_GET['id'];
if (rejectLeaveRequest($id)) {
header('Location: index.php');
exit();
} else {
echo '操作失败!';
}
}
?>
```
以上是一个简单的请假系统的PHP源代码,通过该系统可以实现请假申请的添加、查看、审批等功能。可以根据实际需求拓展功能,例如添加员工信息、用户身份验证等。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复