温馨提示×

php todolist的代码结构如何设计

PHP
小樊
81
2024-09-09 01:50:43
栏目: 编程语言

在 PHP 中创建一个待办事项(Todo List)应用程序,你需要考虑以下几个方面:

  1. 数据库设计:首先,你需要设计一个数据库表来存储待办事项。这个表可以包括以下字段:id(主键)、title(标题)、description(描述)、status(状态,例如:未完成、已完成)和 created_at(创建时间)。

  2. 创建 HTML 表单:创建一个 HTML 表单,用于输入待办事项的标题和描述。

  3. 创建 PHP 脚本来处理表单提交:当用户提交表单时,你需要创建一个 PHP 脚本来处理表单数据并将其插入到数据库中。

  4. 显示待办事项列表:从数据库中查询所有待办事项,并将其显示在页面上。

  5. 更新待办事项状态:为每个待办事项添加一个复选框,以便用户可以将其标记为已完成。当用户更改复选框状态时,更新数据库中相应的状态。

  6. 删除待办事项:为每个待办事项添加一个删除按钮,以便用户可以删除不再需要的待办事项。

以下是一个简单的代码结构示例:

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=todolist', 'username', 'password');

// 添加待办事项
if (isset($_POST['add'])) {
    $title = $_POST['title'];
    $description = $_POST['description'];
    $stmt = $db->prepare("INSERT INTO tasks (title, description, status) VALUES (?, ?, ?)");
    $stmt->execute([$title, $description, '未完成']);
}

// 更新待办事项状态
if (isset($_POST['update'])) {
    $id = $_POST['id'];
    $status = $_POST['status'];
    $stmt = $db->prepare("UPDATE tasks SET status = ? WHERE id = ?");
    $stmt->execute([$status, $id]);
}

// 删除待办事项
if (isset($_POST['delete'])) {
    $id = $_POST['id'];
    $stmt = $db->prepare("DELETE FROM tasks WHERE id = ?");
    $stmt->execute([$id]);
}

// 获取所有待办事项
$tasks = $db->query("SELECT * FROM tasks")->fetchAll();
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Todo List</title>
</head>
<body>
    <h1>Todo List</h1>
    
    <!-- 添加待办事项表单 -->
    <form action="" method="post">
       <input type="text" name="title" placeholder="Title">
       <textarea name="description" placeholder="Description"></textarea>
       <button type="submit" name="add">Add Task</button>
    </form>
    
    <!-- 显示待办事项列表 -->
    <ul>
        <?php foreach ($tasks as $task): ?>
            <li>
                <form action="" method="post">
                   <input type="checkbox" name="status" value="<?php echo $task['status'] == '未完成' ? '已完成' : '未完成'; ?>" onchange="this.form.submit()" <?php echo $task['status'] == '已完成' ? 'checked' : ''; ?>>
                    <span style="text-decoration: <?php echo $task['status'] == '已完成' ? 'line-through' : 'none'; ?>"><?php echo $task['title']; ?></span>
                   <input type="hidden" name="id" value="<?php echo $task['id']; ?>">
                   <button type="submit" name="delete">Delete</button>
                </form>
            </li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

这个示例展示了如何使用 PHP 和 MySQL 创建一个简单的待办事项应用程序。你可以根据自己的需求对其进行修改和扩展。

0