当前位置:首页 > 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实现待办

<?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;
?>

功能扩展建议

添加分类功能 可以增加分类表,允许用户为待办事项添加标签或分类。

php实现待办

添加截止日期 在数据库中增加due_date字段,让用户可以设置任务截止时间。

用户认证 添加用户登录系统,使待办事项与特定用户关联。

前端改进 使用AJAX实现无刷新操作,提升用户体验。

数据验证 对所有用户输入进行严格验证和过滤,防止SQL注入和XSS攻击。

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

标签: php
分享给朋友:

相关文章

php实现增删改查

php实现增删改查

以下是在PHP中实现增删改查(CRUD)操作的详细方法,以MySQL数据库为例: 数据库连接配置 创建config.php文件存储数据库连接信息: <?php $host = 'localh…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Ratc…

php长连接实现

php长连接实现

PHP 长连接实现方法 长连接(Keep-Alive)允许客户端与服务器在一次TCP连接中发送和接收多个HTTP请求/响应,减少重复建立连接的开销。以下是PHP中实现长连接的几种方式: 配置HTTP…

php验证码实现

php验证码实现

验证码实现方法 在PHP中实现验证码功能通常涉及生成随机字符串或数字,将其转换为图像,并通过会话(Session)进行验证。以下是几种常见的实现方式: 使用GD库生成图像验证码 GD库是PHP内置的…

php实现的分页

php实现的分页

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

php 函数实现

php 函数实现

PHP 函数实现基础 PHP 函数的定义使用 function 关键字,后跟函数名和参数列表。函数名不区分大小写,但建议保持一致。 function functionName($param1, $p…