Rework
This commit is contained in:
+20
-16
@@ -1,24 +1,28 @@
|
||||
<?php
|
||||
// Vérifier si le formulaire est soumis
|
||||
include 'todo_db.php';
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Récupérer le nom de la tâche depuis le formulaire
|
||||
$taskName = $_POST["task_name"];
|
||||
$task_name = $_POST['task_name'];
|
||||
$description = $_POST['description'];
|
||||
$tags = $_POST['tags']; // Liste des tags
|
||||
|
||||
// Connexion à la base de données
|
||||
$conn = mysqli_connect("localhost", "user1", "admin123", "ruty");
|
||||
|
||||
// Vérifier la connexion
|
||||
if ($conn->connect_error) {
|
||||
die("Erreur de connexion à la base de données : " . $conn->connect_error);
|
||||
}
|
||||
|
||||
// Préparer et exécuter la requête SQL pour ajouter la tâche
|
||||
$sql = "INSERT INTO tasks (task_name) VALUES ('$taskName')";
|
||||
// Insérer la tâche
|
||||
$sql = "INSERT INTO tasks (task_name, description) VALUES ('$task_name', '$description')";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
header("Location: http://whykorp.ddns.net:8080/ruty/todo.php");
|
||||
exit();
|
||||
$task_id = $conn->insert_id;
|
||||
|
||||
// Insérer les tags associés
|
||||
foreach ($tags as $tag_name) {
|
||||
$tag_sql = "INSERT INTO tags (tag_name) VALUES ('$tag_name') ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)";
|
||||
$conn->query($tag_sql);
|
||||
$tag_id = $conn->insert_id;
|
||||
|
||||
// Lier la tâche et les tags
|
||||
$conn->query("INSERT INTO task_tags (task_id, tag_id) VALUES ($task_id, $tag_id)");
|
||||
}
|
||||
echo "Tâche ajoutée avec succès.";
|
||||
} else {
|
||||
echo "Erreur lors de l'ajout de la tâche : " . $conn->error;
|
||||
echo "Erreur : " . $sql . "<br>" . $conn->error;
|
||||
}
|
||||
|
||||
$conn->close();
|
||||
|
||||
+32
-83
@@ -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>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
$servername = "localhost";
|
||||
$username = "root";
|
||||
$password = "";
|
||||
$dbname = "ruty_todo";
|
||||
|
||||
// Connexion à MySQL
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
|
||||
// Vérifier la connexion
|
||||
if ($conn->connect_error) {
|
||||
die("Connection failed: " . $conn->connect_error);
|
||||
}
|
||||
?>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?php
|
||||
// Vérifier si les paramètres sont passés dans l'URL
|
||||
if (isset($_GET["id"]) && isset($_GET["completed"])) {
|
||||
// Récupérer l'ID de la tâche et l'état complété depuis l'URL
|
||||
$taskId = $_GET["id"];
|
||||
$completed = $_GET["completed"];
|
||||
|
||||
// Connexion à la base de données
|
||||
$conn = mysqli_connect("localhost", "user1", "admin123", "ruty");
|
||||
|
||||
// Vérifier la connexion
|
||||
if ($conn->connect_error) {
|
||||
die("Erreur de connexion à la base de données : " . $conn->connect_error);
|
||||
}
|
||||
|
||||
// Préparer et exécuter la requête SQL pour mettre à jour l'état de la tâche
|
||||
$sql = "UPDATE tasks SET completed = '$completed' WHERE id = '$taskId'";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "État de la tâche mis à jour avec succès.";
|
||||
} else {
|
||||
echo "Erreur lors de la mise à jour de l'état de la tâche : " . $conn->error;
|
||||
}
|
||||
|
||||
$conn->close();
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user