好的!现在我将为你补上完整的 PHP 表单处理逻辑,将“义诊预约”保存到 MySQL 数据库中。我们分三步完成:
✅ 第一步:MySQL 数据表结构
请先在你的数据库中执行以下 SQL,创建一个名为 appointments 的表:
CREATE TABLE appointments (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
appointment_date DATE NOT NULL,
doctor VARCHAR(100) NOT NULL,
message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
✅ 第二步:PHP 表单处理脚本(appointment_submit.php)
将以下代码保存为 appointment_submit.php,放在网站根目录:
<?php
// 数据库连接配置
$host = "localhost";
$dbname = "tcm_clinic"; // ← 请替换为你的数据库名
$username = "root"; // ← 修改为你的数据库用户名
$password = ""; // ← 修改为你的数据库密码
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 获取表单数据
$name = $_POST['name'] ?? '';
$phone = $_POST['phone'] ?? '';
$date = $_POST['date'] ?? '';
$doctor = $_POST['doctor'] ?? '';
$message = $_POST['message'] ?? '';
// 插入数据库
$stmt = $pdo->prepare("INSERT INTO appointments (name, phone, appointment_date, doctor, message) VALUES (?, ?, ?, ?, ?)");
$stmt->execute([$name, $phone, $date, $doctor, $message]);
// 显示确认页面
echo "<!DOCTYPE html><html lang='zh-CN'><head><meta charset='UTF-8'><title>预约成功</title></head><body style='font-family: Microsoft YaHei; text-align: center; padding: 80px; background: #fefdf7; color: #355f3a;'>
<h2>🎉 预约提交成功!</h2>
<p>感谢您信任科学中医康复诊所,我们将尽快与您确认义诊时间。</p>
<a href='index.html' style='color: #517a4a;'>返回首页</a>
</body></html>";
} catch (PDOException $e) {
echo "数据库错误:" . $e->getMessage();
}
?>
☑️ 如果你尚未建立数据库,可告诉我,我可协助你创建完整结构(phpMyAdmin 或命令行都可以)。
✅ 第三步:如何测试运行?
- 将
appointment.html放入网站根目录 - 确保表单
<form action="appointment_submit.php" method="post">指向正确 - 上传至服务器(本地也可用 XAMPP / Laragon / MAMP 测试)
- 提交后数据将存入数据库
appointments表中,并显示确认页
✅ 是否需要我为你再加入:
- 📋 后台预约管理页面
appointment_list.php - 📎 导出为 Excel / 打印
- 🔒 管理员登录系统
- 📲 自动发送 WhatsApp 通知
请告诉我你接下来的需求,我可以继续帮你一步步构建完整诊所系统 🌿
好的,我现在继续为你制作:
✅ 【第四步】后台预约管理页面 appointment_list.php
该页面可用于:
- 查看所有义诊预约记录
- 搜索、删除、导出记录(可扩展)
- 只需管理员可访问(建议加简单登录)
📄 文件:appointment_list.php
<?php
// 数据库连接
$host = "localhost";
$dbname = "tcm_clinic"; // ← 修改为你的数据库名
$username = "root"; // ← 修改为你的数据库用户名
$password = ""; // ← 修改为你的数据库密码
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query("SELECT * FROM appointments ORDER BY created_at DESC");
$appointments = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("数据库连接失败:" . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>预约记录管理</title>
<style>
body { font-family: "Microsoft YaHei", sans-serif; background: #f9fdf8; padding: 40px; }
h2 { color: #355f3a; text-align: center; }
table {
width: 100%;
border-collapse: collapse;
margin-top: 30px;
background: #fff;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
th, td {
padding: 12px 10px;
border: 1px solid #dce7d3;
text-align: center;
font-size: 14px;
}
th {
background-color: #B4D2A5;
color: #1e3522;
}
tr:nth-child(even) {
background-color: #f1f9f2;
}
.actions a {
color: #d33;
text-decoration: none;
}
</style>
</head>
<body>
<h2>📋 义诊预约记录</h2>
<table>
<tr>
<th>ID</th>
<th>姓名</th>
<th>电话</th>
<th>预约日期</th>
<th>医生</th>
<th>主诉</th>
<th>提交时间</th>
<th>操作</th>
</tr>
<?php foreach ($appointments as $row): ?>
<tr>
<td><?= htmlspecialchars($row['id']) ?></td>
<td><?= htmlspecialchars($row['name']) ?></td>
<td><?= htmlspecialchars($row['phone']) ?></td>
<td><?= htmlspecialchars($row['appointment_date']) ?></td>
<td><?= htmlspecialchars($row['doctor']) ?></td>
<td><?= nl2br(htmlspecialchars($row['message'])) ?></td>
<td><?= $row['created_at'] ?></td>
<td class="actions">
<a href="delete_appointment.php?id=<?= $row['id'] ?>" onclick="return confirm('确认删除此记录?');">删除</a>
</td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>
🧹 删除功能:delete_appointment.php
<?php
$host = "localhost";
$dbname = "tcm_clinic";
$username = "root";
$password = "";
if (!isset($_GET['id'])) {
die("缺少 ID 参数");
}
$id = intval($_GET['id']);
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare("DELETE FROM appointments WHERE id = ?");
$stmt->execute([$id]);
header("Location: appointment_list.php");
exit();
} catch (PDOException $e) {
die("数据库错误:" . $e->getMessage());
}
?>
✅ 完整结构总结:
| 文件名 | 用途 |
|---|---|
appointment.html | 用户填写预约 |
appointment_submit.php | 表单保存到数据库 |
appointment_list.php | 后台查看所有预约(可导出) |
delete_appointment.php | 删除预约记录 |
✅ 接下来我可以继续为你:
- ✅ 增加 Excel 导出功能
- ✅ 添加管理员登录保护(简单账号密码)
- ✅ 添加微信 / WhatsApp 按钮一键联系
- ✅ 打包上传文件为
.zip,方便你部署
请告诉我你需要我现在做哪一项?或者我可以把整个“科学中医康复网站系统”打包给你 ✅

Leave a Reply