This commit is contained in:
WhyKorp
2024-09-22 13:52:13 +02:00
committed by GitHub
parent 353ca0d801
commit 8de0328af0
4 changed files with 66 additions and 125 deletions
+32 -83
View File
@@ -12,95 +12,44 @@
<?php include 'menunav.php'; ?>
<!-- Ajouter une nouvelle tâche -->
<h2>Ajouter une tâche</h2>
<form action="add_task.php" method="post">
<input type="text" name="task_name" placeholder="Nom de la tâche" required>
<button type="submit">Ajouter</button>
<h1>Ajouter une tâche</h1>
<form action="add_task.php" method="POST">
<label for="task_name">Nom de la tâche :</label><br>
<input type="text" id="task_name" name="task_name" required><br><br>
<label for="description">Description :</label><br>
<textarea id="description" name="description"></textarea><br><br>
<label for="tags">Tags (séparés par des virgules) :</label><br>
<input type="text" id="tags" name="tags[]" placeholder="ex : urgent, maison"><br><br>
<input type="submit" value="Ajouter la tâche">
</form>
<!-- Liste de tâches -->
<h2>Tâches en cours</h2>
<ul id="todo-list">
<?php
// Connexion à la base de données
$conn = mysqli_connect("localhost", "user1", "admin123", "ruty");
<h2>Liste des tâches</h2>
<ul>
<?php
include 'db.php';
// Vérifier la connexion
if ($conn->connect_error) {
die("Erreur de connexion à la base de données : " . $conn->connect_error);
}
// Sélectionner les tâches
$sql = "SELECT tasks.id, tasks.task_name, tasks.description, GROUP_CONCAT(tags.tag_name) as tags
FROM tasks
LEFT JOIN task_tags ON tasks.id = task_tags.task_id
LEFT JOIN tags ON task_tags.tag_id = tags.id
GROUP BY tasks.id";
// Sélectionner les tâches depuis la base de données
$sql = "SELECT id, task_name, completed FROM tasks";
$result = $conn->query($sql);
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$taskId = $row["id"];
$taskName = $row["task_name"];
$completed = $row["completed"] ? "checked" : "";
echo "<li class='task' data-task-id='$taskId'><input type='checkbox' $completed> $taskName</li>";
}
} else {
echo "Aucune tâche trouvée.";
}
$conn->close();
?>
</ul>
<!-- Menu contextuel pour la tâche -->
<div id="task-menu" class="task-menu">
<button id="close-menu">Fermer</button>
<div id="task-name"></div>
<div id="task-status"></div>
<div id="task-description"></div>
<div id="task-tags"></div>
<button id="edit-task">Modifier</button>
<button id="delete-task">Supprimer</button>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const todoList = document.getElementById("todo-list");
const taskMenu = document.getElementById("task-menu");
// Afficher le menu contextuel lorsqu'une tâche est cliquée
todoList.addEventListener("click", function(event) {
const targetTask = event.target.closest(".task");
if (targetTask) {
const taskId = targetTask.getAttribute("data-task-id");
const taskName = targetTask.textContent;
const taskMenuItems = taskMenu.querySelectorAll(".task-menu-item");
document.getElementById("task-name").textContent = "Nom de la tâche: " + taskName;
document.getElementById("task-status").textContent = "État de la tâche: Complétée/Incomplète";
document.getElementById("task-description").textContent = "Description de la tâche: Description de la tâche ici.";
document.getElementById("task-tags").textContent = "Tags associés à la tâche: Tag1, Tag2";
taskMenuItems.forEach(item => item.style.display = "block"); // Afficher les éléments du menu
taskMenu.style.display = "block"; // Afficher le menu
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<li>" . $row["task_name"] . " - " . $row["description"] . " [Tags: " . $row["tags"] . "]</li>";
}
});
// Fermer le menu contextuel lorsque le bouton "Fermer" est cliqué
document.getElementById("close-menu").addEventListener("click", function() {
taskMenu.style.display = "none";
});
});
</script>
</script>
<!-- Script pour mettre à jour l'état d'une tâche -->
<script>
function updateTask(taskId, completed) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log("Tâche mise à jour avec succès.");
}
};
xhttp.open("GET", "update_task.php?id=" + taskId + "&completed=" + completed, true);
xhttp.send();
} else {
echo "Aucune tâche trouvée.";
}
</script>
$conn->close();
?>
</ul>
</body>
</html>