如何透過PHP實現員工考勤資料的匯入匯出?
在企业的日常管理中,员工考勤数据的导入导出是一项非常重要的任务。通过PHP编程语言可以方便地实现员工考勤数据的导入导出功能。本文将介绍如何使用PHP实现这一功能,并提供具体的代码示例。
一、导入员工考勤数据
<form action="import.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" accept=".csv"> <input type="submit" value="导入"> </form>
<?php // 导入数据 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取上传的文件 $file = $_FILES['file']['tmp_name']; // 连接数据库 $conn = new mysqli('localhost', 'username', 'password', 'database_name'); // 读取CSV文件 if (($handle = fopen($file, "r")) !== false) { while (($data = fgetcsv($handle, 1000, ",")) !== false) { // 将数据插入数据库 $sql = "INSERT INTO attendance (employee_id, date, start_time, end_time) VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]')"; $conn->query($sql); } fclose($handle); } // 关闭数据库连接 $conn->close(); // 导入成功提示 echo "导入成功"; } ?>
以上代码中,首先获取上传的CSV文件,然后连接数据库并将数据逐行插入到考勤数据表中,最后关闭数据库连接并输出导入成功的提示。
二、导出员工考勤数据
<a href="export.php">导出</a>
<?php // 导出数据 // 连接数据库 $conn = new mysqli('localhost', 'username', 'password', 'database_name'); // 查询员工考勤数据 $sql = "SELECT * FROM attendance"; $result = $conn->query($sql); // 创建CSV文件 $file = fopen("attendance.csv", "w"); // 写入表头 fputcsv($file, array("员工ID", "日期", "上班时间", "下班时间")); // 写入数据 while ($data = $result->fetch_assoc()) { fputcsv($file, array($data['employee_id'], $data['date'], $data['start_time'], $data['end_time'])); } // 关闭文件 fclose($file); // 关闭数据库连接 $conn->close(); // 下载CSV文件 header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=attendance.csv"); readfile("attendance.csv"); ?>
以上代码中,首先连接数据库,并查询员工考勤数据。然后创建一个CSV文件,并将查询结果逐行写入到CSV文件中。最后,设置HTTP响应头,使浏览器下载生成的CSV文件。
现在,通过以上的代码示例,我们可以实现员工考勤数据的导入导出功能。只需要将代码添加到相应的文件中,并在HTML页面中添加对应的表单或按钮即可。希望本文能对实现这一功能有所帮助!
以上是如何透過PHP實現員工考勤資料的匯入匯出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!