From e3b99a194206964e1ee98709dc096c1cbd963dcb Mon Sep 17 00:00:00 2001 From: 5803024004 Date: Wed, 27 Aug 2025 06:14:17 -0400 Subject: [PATCH] Upload files to "/" Jap Robertus K.S - 5803024004 Tugas Week 2 Praktikum Back End To Do Task App --- ... Praktikum Back End Programming Week 2.php | 651 ++++++++++++++++++ 1 file changed, 651 insertions(+) create mode 100644 Jap Robertus K.S - 5803024004 Tugas Praktikum Back End Programming Week 2.php diff --git a/Jap Robertus K.S - 5803024004 Tugas Praktikum Back End Programming Week 2.php b/Jap Robertus K.S - 5803024004 Tugas Praktikum Back End Programming Week 2.php new file mode 100644 index 0000000..dc936cd --- /dev/null +++ b/Jap Robertus K.S - 5803024004 Tugas Praktikum Back End Programming Week 2.php @@ -0,0 +1,651 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); +} + +//ngebuat database kalo blm ada +$sql = "CREATE DATABASE IF NOT EXISTS $database"; +if ($conn->query($sql) === TRUE) { + $conn->select_db($database); + + // buat tabel + $createGroupsTable = "CREATE TABLE IF NOT EXISTS groups ( + group_id INT AUTO_INCREMENT PRIMARY KEY, + group_name VARCHAR(255) NOT NULL + )"; + $conn->query($createGroupsTable); + + // buat tabel task + $createTasksTable = "CREATE TABLE IF NOT EXISTS tasks ( + task_id INT AUTO_INCREMENT PRIMARY KEY, + task_name VARCHAR(255) NOT NULL, + task_description TEXT, + group_id INT, + is_done BOOLEAN DEFAULT 0, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE + )"; + $conn->query($createTasksTable); +} else { + die("Error creating database: " . $conn->error); +} + +// buat submissions +if ($_POST) { + if (isset($_POST['add_group'])) { + $group_name = $_POST['group_name']; + $stmt = $conn->prepare("INSERT INTO groups (group_name) VALUES (?)"); + $stmt->bind_param("s", $group_name); + $stmt->execute(); + $stmt->close(); + } + + if (isset($_POST['add_task'])) { + $task_name = $_POST['task_name']; + $task_description = $_POST['task_description']; + $group_id = $_POST['group_id']; + $stmt = $conn->prepare("INSERT INTO tasks (task_name, task_description, group_id) VALUES (?, ?, ?)"); + $stmt->bind_param("ssi", $task_name, $task_description, $group_id); + $stmt->execute(); + $stmt->close(); + } + + if (isset($_POST['update_task'])) { + $task_id = $_POST['task_id']; + $task_name = $_POST['task_name']; + $task_description = $_POST['task_description']; + $group_id = $_POST['group_id']; + $stmt = $conn->prepare("UPDATE tasks SET task_name=?, task_description=?, group_id=? WHERE task_id=?"); + $stmt->bind_param("ssii", $task_name, $task_description, $group_id, $task_id); + $stmt->execute(); + $stmt->close(); + } + + if (isset($_POST['toggle_task'])) { + $task_id = $_POST['task_id']; + $is_done = $_POST['is_done']; + $stmt = $conn->prepare("UPDATE tasks SET is_done=? WHERE task_id=?"); + $stmt->bind_param("ii", $is_done, $task_id); + $stmt->execute(); + $stmt->close(); + } + + if (isset($_POST['delete_task'])) { + $task_id = $_POST['task_id']; + $stmt = $conn->prepare("DELETE FROM tasks WHERE task_id=?"); + $stmt->bind_param("i", $task_id); + $stmt->execute(); + $stmt->close(); + } + + if (isset($_POST['delete_group'])) { + $group_id = $_POST['group_id']; + $stmt = $conn->prepare("DELETE FROM groups WHERE group_id=?"); + $stmt->bind_param("i", $group_id); + $stmt->execute(); + $stmt->close(); + } + + header("Location: " . $_SERVER['PHP_SELF']); + exit(); +} + +$edit_task = null; +if (isset($_GET['edit'])) { + $task_id = $_GET['edit']; + $result = $conn->query("SELECT * FROM tasks WHERE task_id = $task_id"); + $edit_task = $result->fetch_assoc(); +} + +$groups_result = $conn->query("SELECT * FROM groups ORDER BY group_name"); +$groups = []; +while ($row = $groups_result->fetch_assoc()) { + $groups[] = $row; +} + +$tasks_result = $conn->query(" + SELECT t.*, g.group_name + FROM tasks t + LEFT JOIN groups g ON t.group_id = g.group_id + ORDER BY g.group_name, t.created_at DESC +"); +$tasks = []; +while ($row = $tasks_result->fetch_assoc()) { + $tasks[$row['group_id']][] = $row; +} +?> + + + + + + + Task Manager + + + +
+

📋 Task Manager

+

Kelola Tugas Mu Dengan Efisien Dan Membantu Tingkatkan Produktifitasmu

+
+ +
+ +
+ âœī¸ Currently editing task: "" +
+ + +
+ +
+

+ 📁 + Create New Group +

+
+
+ + +
+ +
+
+ + +
+

+ + +

+
+ + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ + + + + + + + +
+
+
+ + +
+ +
+ 📭 +

Belum ada Group!

+

Buat Group dulu lalu tambahkan task!.

+
+ + +
+
+
+

+
+ tasks +
+
+
+ + +
+
+ +
+ +
+ ✨ +

No tasks in this group yet.
Add your first task above!

+
+ + +
+
+
+ +
+
+ +
+
+ + +
+ +
+ + +
+ Created: +
+ +
+ +
+ + + +
+ + + + + + + +
+ + +
+
+
+ + +
+
+ + +
+
+ + + + + +close(); +?> \ No newline at end of file