在 PHP 中創建一個待辦事項(Todo List)應用程序,你需要考慮以下幾個方面:
數據庫設計:首先,你需要設計一個數據庫表來存儲待辦事項。這個表可以包括以下字段:id(主鍵)、title(標題)、description(描述)、status(狀態,例如:未完成、已完成)和 created_at(創建時間)。
創建 HTML 表單:創建一個 HTML 表單,用于輸入待辦事項的標題和描述。
創建 PHP 腳本來處理表單提交:當用戶提交表單時,你需要創建一個 PHP 腳本來處理表單數據并將其插入到數據庫中。
顯示待辦事項列表:從數據庫中查詢所有待辦事項,并將其顯示在頁面上。
更新待辦事項狀態:為每個待辦事項添加一個復選框,以便用戶可以將其標記為已完成。當用戶更改復選框狀態時,更新數據庫中相應的狀態。
刪除待辦事項:為每個待辦事項添加一個刪除按鈕,以便用戶可以刪除不再需要的待辦事項。
以下是一個簡單的代碼結構示例:
<?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 創建一個簡單的待辦事項應用程序。你可以根據自己的需求對其進行修改和擴展。