当前位置:首页 > PHP

php实现待办

2026-01-29 21:08:19PHP

PHP 实现待办事项功能

数据库设计

创建一个简单的待办事项表,包含基本字段如 ID、标题、描述、状态和创建时间。

CREATE TABLE todos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    status ENUM('pending', 'completed') DEFAULT 'pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

连接数据库

使用 PDO 或 MySQLi 连接数据库,确保连接安全。

$host = 'localhost';
$dbname = 'todo_app';
$username = 'root';
$password = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Connection failed: " . $e->getMessage());
}

添加待办事项

创建一个表单提交待办事项,并将数据插入数据库。

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_todo'])) {
    $title = $_POST['title'];
    $description = $_POST['description'];

    $stmt = $pdo->prepare("INSERT INTO todos (title, description) VALUES (?, ?)");
    $stmt->execute([$title, $description]);
}

显示待办事项

从数据库中查询并显示待办事项列表。

$stmt = $pdo->query("SELECT * FROM todos ORDER BY created_at DESC");
$todos = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($todos as $todo) {
    echo "<div class='todo-item'>";
    echo "<h3>" . htmlspecialchars($todo['title']) . "</h3>";
    echo "<p>" . htmlspecialchars($todo['description']) . "</p>";
    echo "<span>Status: " . $todo['status'] . "</span>";
    echo "</div>";
}

更新待办事项状态

提供按钮或链接来更新待办事项的状态。

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['update_status'])) {
    $id = $_POST['id'];
    $status = $_POST['status'];

    $stmt = $pdo->prepare("UPDATE todos SET status = ? WHERE id = ?");
    $stmt->execute([$status, $id]);
}

删除待办事项

实现删除功能,从数据库中移除待办事项。

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_todo'])) {
    $id = $_POST['id'];

    $stmt = $pdo->prepare("DELETE FROM todos WHERE id = ?");
    $stmt->execute([$id]);
}

前端界面

创建一个简单的 HTML 表单和列表界面,与后端交互。

<form method="POST">
    <input type="text" name="title" placeholder="Title" required>
    <textarea name="description" placeholder="Description"></textarea>
    <button type="submit" name="add_todo">Add Todo</button>
</form>

<div id="todo-list">
    <?php foreach ($todos as $todo): ?>
        <div class="todo-item">
            <h3><?php echo htmlspecialchars($todo['title']); ?></h3>
            <p><?php echo htmlspecialchars($todo['description']); ?></p>
            <form method="POST">
                <input type="hidden" name="id" value="<?php echo $todo['id']; ?>">
                <select name="status">
                    <option value="pending" <?php echo $todo['status'] === 'pending' ? 'selected' : ''; ?>>Pending</option>
                    <option value="completed" <?php echo $todo['status'] === 'completed' ? 'selected' : ''; ?>>Completed</option>
                </select>
                <button type="submit" name="update_status">Update</button>
                <button type="submit" name="delete_todo">Delete</button>
            </form>
        </div>
    <?php endforeach; ?>
</div>

安全性考虑

确保输入数据经过验证和转义,防止 SQL 注入和 XSS 攻击。

php实现待办

$title = filter_input(INPUT_POST, 'title', FILTER_SANITIZE_STRING);
$description = filter_input(INPUT_POST, 'description', FILTER_SANITIZE_STRING);

完整示例

将上述代码整合到一个完整的 PHP 文件中,确保逻辑清晰且功能完整。

标签: php
分享给朋友:

相关文章

php实现打印功能

php实现打印功能

PHP实现打印功能的方法 在PHP中实现打印功能可以通过多种方式完成,包括直接输出到浏览器、生成PDF文件、调用打印机接口等。以下是几种常见的方法: 直接输出HTML内容 PHP可以通过echo或p…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php搜索功能实现

php搜索功能实现

实现基本的PHP搜索功能 使用MySQL数据库和PHP实现简单的关键词搜索功能。需要确保数据库中有可供搜索的表和数据。 // 连接数据库 $conn = new mysqli('localhost'…

php 实现mvc

php 实现mvc

PHP 实现 MVC 架构的方法 MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离业务逻辑、用户界面和用户输入。以下是 PHP 实现 MVC 架构的关键步骤:…

php实现评论功能

php实现评论功能

数据库设计 创建评论表(示例结构): CREATE TABLE `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id`…

php无法实现的

php无法实现的

PHP 的局限性 PHP 是一种广泛使用的服务器端脚本语言,主要用于 Web 开发。尽管功能强大,但在某些场景下存在局限性。 操作系统级开发 PHP 不适合编写操作系统内核或底层驱动程序。这类任务通…