当前位置:首页 > PHP

php实现待办

2026-03-12 17:31:04PHP

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攻击。

php实现待办

这个基本实现提供了待办事项的核心功能,可以根据需要进一步扩展和完善。

标签: php
分享给朋友:

相关文章

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php实现的分页

php实现的分页

PHP 实现分页的方法 基本分页逻辑 分页的核心在于计算总页数、当前页码以及数据偏移量。假设每页显示 10 条数据: $current_page = isset($_GET['page']) ? (…

php实现登陆

php实现登陆

PHP 实现登录功能 创建登录表单 在 HTML 文件中创建一个登录表单,包含用户名和密码输入框,表单的 action 属性指向处理登录的 PHP 文件。 <form action="logi…

php实现定时

php实现定时

PHP 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过编…

php 实现无限分类

php 实现无限分类

无限分类的实现方法 无限分类通常用于构建多层级结构的数据,如商品分类、菜单管理等。以下是几种常见的实现方式: 邻接列表模型(Adjacency List) 这是最简单的实现方式,每个分类记录存储其父…

php 链表实现

php 链表实现

在 PHP 中实现链表可以通过类来模拟链表节点(Node)和链表(LinkedList)结构。以下是链表的完整实现示例,包含基础操作如插入、删除、遍历等。 链表节点类(Node) 链表的基本单元是节…