php实现待办
PHP实现待办事项功能
待办事项功能通常包括添加、删除、标记完成等操作。以下是一个简单的PHP实现方案:
数据库准备
创建一个名为todos的表,包含字段:id(主键)、task(任务内容)、completed(是否完成,默认为0)、created_at(创建时间)。
CREATE TABLE todos (
id INT AUTO_INCREMENT PRIMARY KEY,
task VARCHAR(255) NOT NULL,
completed TINYINT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
连接数据库
创建config.php文件处理数据库连接:
<?php
$host = 'localhost';
$db = 'your_database';
$user = 'your_username';
$pass = 'your_password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
添加待办事项
创建add.php处理新增任务:
<?php
require 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$task = trim($_POST['task']);
if (!empty($task)) {
$stmt = $pdo->prepare("INSERT INTO todos (task) VALUES (:task)");
$stmt->execute([':task' => $task]);
}
header('Location: index.php');
exit;
}
?>
显示待办列表
创建index.php显示所有待办事项:

<?php
require 'config.php';
// 获取所有待办事项
$stmt = $pdo->query("SELECT * FROM todos ORDER BY created_at DESC");
$todos = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP待办事项</title>
</head>
<body>
<h1>待办事项</h1>
<form action="add.php" method="post">
<input type="text" name="task" placeholder="输入新任务" required>
<button type="submit">添加</button>
</form>
<ul>
<?php foreach ($todos as $todo): ?>
<li>
<?php echo htmlspecialchars($todo['task']); ?>
<a href="complete.php?id=<?php echo $todo['id']; ?>">完成</a>
<a href="delete.php?id=<?php echo $todo['id']; ?>">删除</a>
</li>
<?php endforeach; ?>
</ul>
</body>
</html>
标记完成
创建complete.php处理任务完成状态:
<?php
require 'config.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$stmt = $pdo->prepare("UPDATE todos SET completed = 1 WHERE id = :id");
$stmt->execute([':id' => $id]);
}
header('Location: index.php');
exit;
?>
删除待办事项
创建delete.php处理删除操作:
<?php
require 'config.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$stmt = $pdo->prepare("DELETE FROM todos WHERE id = :id");
$stmt->execute([':id' => $id]);
}
header('Location: index.php');
exit;
?>
功能扩展建议
添加分类功能 可以增加分类表,允许用户为待办事项添加标签或分类。

添加截止日期
在数据库中增加due_date字段,让用户可以设置任务截止时间。
用户认证 添加用户登录系统,使待办事项与特定用户关联。
前端改进 使用AJAX实现无刷新操作,提升用户体验。
数据验证 对所有用户输入进行严格验证和过滤,防止SQL注入和XSS攻击。
这个基本实现提供了待办事项的核心功能,可以根据需要进一步扩展和完善。






