1. Struktur Database (MySQL)
Buat database baru dengan nama todolist_db, lalu jalankan query berikut untuk membuat tabel tasks:
CREATE DATABASE todolist_db;
USE todolist_db;
CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
task VARCHAR(255) NOT NULL,
priority ENUM('Low', 'Medium', 'High') NOT NULL,
due_date DATE NOT NULL,
status ENUM('Belum Selesai', 'Selesai') NOT NULL DEFAULT 'Belum Selesai'
);
2. koneksi.php
File ini berfungsi untuk menghubungkan ke database.
3. index.php
Ini adalah halaman utama yang menampilkan daftar tugas dan memungkinkan pengguna menambahkan, mengedit, dan menghapus tugas.
4. edit.php
Halaman ini digunakan untuk mengedit task yang sudah ada.
<?php
include 'koneksi.php';
// Ambil data berdasarkan ID
$id = intval($_GET['id']);
$result = mysqli_query($koneksi, "SELECT * FROM tasks WHERE id=$id");
$row = mysqli_fetch_assoc($result);
// Update data
if (isset($_POST['update'])) {
$task = mysqli_real_escape_string($koneksi, $_POST['task']);
$priority = mysqli_real_escape_string($koneksi, $_POST['priority']);
$due_date = mysqli_real_escape_string($koneksi, $_POST['due_date']);
$status = mysqli_real_escape_string($koneksi, $_POST['status']);
$query = "UPDATE tasks SET task='$task', priority='$priority', due_date='$due_date', status='$status' WHERE id=$id";
mysqli_query($koneksi, $query);
header("Location: index.php");
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Edit Task</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<h2 class="text-center">Edit Task</h2>
<form method="POST">
<input type="text" name="task" class="form-control" value="<?= htmlspecialchars($row['task']) ?>" required>
<select name="priority" class="form-control mt-2" required>
<option value="Low" <?= $row['priority'] == 'Low' ? 'selected' : '' ?>>Low</option>
<option value="Medium" <?= $row['priority'] == 'Medium' ? 'selected' : '' ?>>Medium</option>
<option value="High" <?= $row['priority'] == 'High' ? 'selected' : '' ?>>High</option>
</select>
<input type="date" name="due_date" class="form-control mt-2" value="<?= $row['due_date'] ?>" required>
<select name="status" class="form-control mt-2" required>
<option value="Belum Selesai" <?= $row['status'] == 'Belum Selesai' ? 'selected' : '' ?>>Belum Selesai</option>
<option value="Selesai" <?= $row['status'] == 'Selesai' ? 'selected' : '' ?>>Selesai</option>
</select>
<button type="submit" name="update" class="btn btn-success mt-2 w-100">Update</button>
</form>
</div>
</body>
</html>
Tidak ada komentar:
Posting Komentar