PHP Forma 表单 带时间范围选择的排班表单

PHP Forma阿木 发布于 3 天前 4 次阅读


PHP Form 表单带时间范围选择的排班表单实现

在现代企业中,排班管理是一个至关重要的环节。合理地安排员工的工作时间,不仅可以提高工作效率,还能确保员工的工作与生活平衡。本文将围绕PHP Form表单,实现一个带有时间范围选择的排班表单。我们将使用HTML、CSS和PHP技术来完成这一任务。

1. 需求分析

在开始编写代码之前,我们需要明确排班表单的需求:

- 用户可以输入姓名、部门、职位等信息。
- 用户可以选择开始时间和结束时间,以确定工作时间段。
- 表单需要验证输入的有效性,如时间格式、时间范围等。
- 表单提交后,数据需要存储到数据库中。

2. 技术选型

- HTML:用于构建表单界面。
- CSS:用于美化表单样式。
- PHP:用于处理表单提交,验证数据,并存储到数据库。

3. 实现步骤

3.1 创建HTML表单

我们需要创建一个HTML表单,包含姓名、部门、职位、开始时间和结束时间等字段。

html

姓名:

部门:

职位:

开始时间:

结束时间:

3.2 添加CSS样式

为了美化表单,我们可以添加一些CSS样式。

css
form {
width: 300px;
margin: 0 auto;
padding: 20px;
border: 1px solid ccc;
border-radius: 5px;
}

label {
display: block;
margin-bottom: 5px;
}

input[type="text"],
input[type="datetime-local"] {
width: 100%;
padding: 8px;
margin-bottom: 10px;
border: 1px solid ccc;
border-radius: 4px;
}

input[type="submit"] {
width: 100%;
padding: 10px;
background-color: 4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}

input[type="submit"]:hover {
background-color: 45a049;
}

3.3 PHP后端处理

在`schedule.php`文件中,我们需要处理表单提交,验证数据,并将数据存储到数据库中。

php
connect_error) {
die("连接失败: " . $conn->connect_error);
}

// 获取表单数据
$name = $_POST['name'];
$department = $_POST['department'];
$position = $_POST['position'];
$start_time = $_POST['start_time'];
$end_time = $_POST['end_time'];

// 验证时间格式
if (!DateTime::createFromFormat('Y-m-dTH:i', $start_time) || !DateTime::createFromFormat('Y-m-dTH:i', $end_time)) {
die("时间格式错误!");
}

// 验证时间范围
if ($start_time >= $end_time) {
die("结束时间必须晚于开始时间!");
}

// 插入数据到数据库
$sql = "INSERT INTO schedule (name, department, position, start_time, end_time)
VALUES ('$name', '$department', '$position', '$start_time', '$end_time')";

if ($conn->query($sql) === TRUE) {
echo "排班信息已成功添加";
} else {
echo "Error: " . $sql . "" . $conn->error;
}

$conn->close();
?>

3.4 数据库设计

我们需要创建一个数据库表来存储排班信息。以下是SQL语句:

sql
CREATE TABLE schedule (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
department VARCHAR(50) NOT NULL,
position VARCHAR(50) NOT NULL,
start_time DATETIME NOT NULL,
end_time DATETIME NOT NULL
);

4. 总结

本文介绍了如何使用PHP Form表单实现一个带时间范围选择的排班表单。通过HTML、CSS和PHP技术,我们成功构建了一个功能完善的排班管理系统。在实际应用中,可以根据需求进一步扩展功能,如添加排班查询、修改和删除等操作。