-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
107 lines (99 loc) · 4.52 KB
/
index.php
File metadata and controls
107 lines (99 loc) · 4.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
//Nouvelle requete pour corriger l'heure sur siteground
// SET GLOBAL time_zone ='-05:00';
// SELECT DATE_ADD(CURRENT_TIMESTAMP,interval -5 hour)
// Importer la base de données.
include('lib/bd.lib.php');
//Se connecter à la base de donnés.
$cnx = connexionBD();
//requête MySQL par défaut pour afficher toutes les tâches.
$requete = "SELECT id, texte, accomplie, date_ajout,
DATE_FORMAT(date_ajout, '%d/%m/%Y à %H:%i:%s')
AS date_ajout_modifie FROM tache ORDER BY date_ajout DESC";
// Si on ne change pas "date_ajout" par "date_ajout_modifié", lorsqu'on fait
// le trie en ordre décroissant, le trie se fait selon J/M/A.
// MySql trie d'abord les jours, ensuite le mois et l'année.
// l'ordre n'est plus le bon.
// Filter les tâches à faire et celle complétées.
$filtresPossible = array(0,1);
if(isset($_GET['filtrer'])) {
//Modifer la requête actuel pour afficher les tâches que l'on souhaite trier.
if (!in_array($_GET["filtrer"], $filtresPossible)) $_GET['filtrer'] = 0;
$requete ="SELECT id, texte, accomplie, date_ajout,
DATE_FORMAT(date_ajout, '%d/%m/%Y à %H:%i:%s') AS date_ajout_modifie
FROM tache WHERE accomplie=".$_GET['filtrer']." ORDER BY date_ajout DESC";
}
//Ajouter une tâche
if(isset($_POST['texteTache'])) {
//l'id de la tâche à ajouter
$ajouterUneTache = $_POST['texteTache'];
//Ajouter la tâche si la chaîne de caractère est plus grande que 2
if (strlen($ajouterUneTache)>2) {
//Effectuer une reqête indépendante de la précédente
$requeteAjouterTache = lireDonnees($cnx, "INSERT INTO tache
(id, texte, accomplie, date_ajout, utilisateur_id)
VALUES (0, '$ajouterUneTache', 0, CURRENT_TIMESTAMP, NULL)");
}
}
// Changer l'état de la tâche sélectionnée.
if(isset($_GET['basculer'])) {
//l'id de la tâche à changer
$tacheAChanger = $_GET['basculer'];
// Effectuer une reqête indépendante de la précédente selon l'état actuel
// pour le changer
$requeteBasculer = lireDonnees($cnx, "UPDATE tache SET accomplie =
NOT accomplie WHERE id = $tacheAChanger");
}
//Supprimer des tâches
if(isset($_GET['supprimer'])) {
$requeteSupprimer = lireDonnees($cnx, "DELETE FROM tache WHERE id > 17");
}
//Listes des tâches à afficher
$listeDesTaches = lireDonnees($cnx, $requete);
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>MEMO | Liste de tâches</title>
<meta name="description" content="Application Web de gestion de tâches - à produire dans le cadre du TP #2 du cours 582-3W3.">
<link rel="stylesheet" href="ressources/css/styles.css">
<link rel="icon" href="ressources/images/favicon.ico">
</head>
<body>
<div class="conteneur">
<a href="index.php"><h1>MEMO</h1></a>
<form method="post" autocomplete="off" action="index.php">
<input type="text" name="texteTache" class="quoi-faire" autofocus placeholder="Tâche à accomplir ...">
</form>
<div class="filtres">
<a href="index.php?filtrer=1" title="Afficher les tâches complétées uniquement.">Complétées</a>
<a href="index.php?filtrer=0" title="Afficher les tâches non-complétées uniquement.">Non-complétées</a>
<a href="index.php" title="Afficher toutes les tâches.">Toutes</a>
<a href="index.php?supprimer=1" title="Supprime 'toutes' les tâches.">Supprimer</a>
</div>
<ul class="liste-taches">
<!-- Afficher chaque tâche dans la requête SQL -->
<?php while($uneTache = mysqli_fetch_assoc($listeDesTaches)) :
// Obtenir l'id de la tâche pour changer ses propriété plustard
$idDeLaTache = $uneTache['id']; ?>
<li <?php if($uneTache['accomplie']==1) {echo 'class="accomplie"';} ?>>
<span class="coche">
<a href="index.php?basculer=<?= $idDeLaTache; ?>" title="Cliquez pour faire basculer l'état de cette tâche.">
<img src="ressources/images/coche.svg" alt="">
</a>
</span>
<span class="texte"><?= $uneTache['texte']; ?></span>
<span class="ajout"><?= $uneTache['date_ajout_modifie']; ?></span>
</li>
<?php endwhile; ?>
</ul>
</div>
</body>
</html>
<script>
//Ne pas ajouté la même tâche plusieurs fois si l'on actualise la page
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>