Senin, 24 Februari 2025

Aplikasi Todolist Versi ke 2

 

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

LATIHAN PPG - PELATIHAN MANDIRI

Empati secara kognitif diperoleh melalui Resertive Learning Kemampuan individu dalam memberikan respons atau tindakan sesuai dengan perasaan...