用PHP打造一个校友录管理系统,从零开始写一个.doc文件
大家好,今天咱们来聊聊怎么用PHP做一个校友录管理系统。这个系统呢,其实就是用来记录校友信息的,比如姓名、电话、毕业年份、联系方式之类的。然后我们还可以把这些数据导出成一个.doc文件,方便打印或者存档。听起来是不是挺有意思的?那我们就一步步来,从最基础的开始。
一、什么是校友录管理系统?
首先,我得说一下,什么是校友录管理系统。简单来说,它就是一个可以管理校友信息的系统。你可能在学校里做过类似的项目,或者在工作中需要处理一些人员信息。这种系统通常包括添加、查看、编辑、删除等功能。而我们的目标是用PHP来实现这些功能,并且最后能导出成.doc文件。

二、准备工作
首先,你需要一个PHP环境。如果你是新手的话,推荐使用XAMPP或者WAMP这样的集成环境,这样安装起来比较方便。然后还需要一个数据库,比如MySQL。你可以用phpMyAdmin来管理你的数据库。
接下来,我们创建一个数据库,叫做“alumni_db”,然后在其中建一张表,叫“alumni”。这张表的字段大概有:id(自增主键)、name(姓名)、phone(电话)、graduation_year(毕业年份)、email(邮箱)和address(地址)。你可以在phpMyAdmin里面手动创建,也可以用SQL语句来写。
CREATE TABLE alumni (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
phone VARCHAR(20),
graduation_year INT,
email VARCHAR(100),
address TEXT
);
好了,表结构搞定了,接下来就是PHP代码了。
三、连接数据库
PHP要和数据库打交道,就得先连接。这里我们可以写一个config.php文件,用来存放数据库连接信息。
connect_error) {
die("连接失败: " . $conn->connect_error);
}
?>
这段代码很简单,就是连接到本地的MySQL数据库。如果连接失败,就输出错误信息。你可以把它放在一个单独的文件中,然后在其他页面里include进去。
四、添加校友信息
现在我们来写一个添加校友信息的页面。这个页面应该是一个表单,用户输入信息后,提交到服务器,然后插入到数据库中。
<form action="add_process.php" method="post">
姓名: <input type="text" name="name" required><br>
电话: <input type="text" name="phone"><br>
毕业年份: <input type="number" name="graduation_year"><br>
邮箱: <input type="email" name="email"><br>
地址: <textarea name="address"></textarea><br>
<input type="submit" value="提交">
</form>
然后是处理提交的页面,也就是add_process.php:
query($sql) === TRUE) {
echo "成功添加!";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
这就是添加信息的流程。不过要注意的是,直接拼接SQL可能会有安全问题,建议使用预处理语句,但为了简单起见,这里暂时不展开讲。
五、查看校友信息
接下来是查看功能。我们需要从数据库中读取所有校友的信息,并展示出来。
query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "姓名: " . $row["name"] . " | 电话: " . $row["phone"] . " | 毕业年份: " . $row["graduation_year"] . "
";
}
} else {
echo "没有找到记录";
}
$conn->close();
?>
这样就能把所有数据展示出来了。当然,你可以用表格来美化显示效果。
六、导出为.doc文件
现在到了最有趣的部分——把数据导出为.doc文件。虽然PHP本身不能直接生成.doc文件,但我们可以通过生成HTML内容,然后设置响应头为application/msword,让浏览器识别为.doc文件。
query($sql);
header("Content-Type: application/msword");
header("Content-Disposition: attachment; filename=alumni_list.doc");
echo "<html><body>";
echo "<h1>校友录列表</h1>";
echo "<table border='1' style='border-collapse: collapse;'>";
echo "<tr><th>姓名</th><th>电话</th><th>毕业年份</th><th>邮箱</th><th>地址</th></tr>";
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["name"] . "</td>";
echo "<td>" . $row["phone"] . "</td>";
echo "<td>" . $row["graduation_year"] . "</td>";
echo "<td>" . $row["email"] . "</td>";
echo "<td>" . $row["address"] . "</td>";
echo "</tr>";
}
}
echo "</table></body></html>";
$conn->close();
exit;
?>
这段代码的作用是:获取所有校友信息,然后生成一个包含表格的HTML内容,并设置HTTP头为.doc文件。当用户点击下载时,浏览器就会把这个内容当作.doc文件下载下来。

七、测试一下
现在你可以把前面的页面都放到同一个目录下,然后通过浏览器访问。比如,先访问add_alumni.php,添加几个校友信息,然后访问查看页面,再点击导出按钮,看看能不能生成一个.doc文件。
需要注意的是,不同浏览器对.doc文件的支持可能不一样,有的可能会直接打开,有的会提示保存。不过只要能正确生成文件,就说明我们的代码是成功的。
八、优化与扩展
以上只是一个基础版本的校友录管理系统。如果你想让它更强大,可以考虑以下几点优化:
加入分页功能,避免一次性加载太多数据。
增加搜索功能,让用户可以根据姓名或电话查找。
支持多语言,比如中文和英文切换。
加入权限控制,比如管理员和普通用户的区别。
九、总结
通过这篇文章,我们学会了如何用PHP搭建一个简单的校友录管理系统,并且能够将数据导出为.doc文件。虽然这只是一个小项目,但涵盖了PHP的基本操作、数据库连接、数据展示和文件导出等多个方面。
如果你是刚开始学PHP,建议多动手实践,不要怕犯错。每一个小项目都是积累经验的好机会。希望这篇文章对你有所帮助,也欢迎你在评论区留言交流。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!

