Une simple application de liste de tâches qui prend les tâches soumises par l'utilisateur dans un formulaire et les enregistre dans une base de données MySQL. Les tâches sont également extraites de la base de données et affichées sur la page Web avec un bouton de suppression à côté de chaque tâche. Lorsque le bouton de suppression est cliqué, la tâche est supprimée de la base de données.
C'est ce que nous allons construire dans ce tutoriel.
Comme d'habitude, créons notre base de données. Créez une base de données appelée todo et dedans, créez un tableau appelé tâches. Le tableau des tâches n'a que deux champs à savoir :
- id - int(10)
- tâche - varchar(255)
Créez maintenant deux fichiers :
- index.php
- style.css
Ouvrez-les dans un éditeur de texte et collez le code suivant dans le fichier index.php :
<!DOCTYPE html>
<html>
<head>
<title>ToDo List Application PHP and MySQL</title>
</head>
<body>
<div class="heading">
<h2 style="font-style: 'Hervetica';">ToDo List Application PHP and MySQL database</h2>
</div>
<form method="post" action="index.php" class="input_form">
<input type="text" name="task" class="task_input">
<button type="submit" name="submit" id="add_btn" class="add_btn">Add Task</button>
</form>
</body>
</html>
Si vous affichez votre page maintenant dans le navigateur, elle ressemble à ceci :
Ajoutons le style. Directement sous la balise
<link rel="stylesheet" type="text/css" href="style.css">
Ouvrez le fichier style.css que nous avions créé précédemment et collez-y ce code de style :
.heading{
width: 50%;
margin: 30px auto;
text-align: center;
color: #6B8E23;
background: #FFF8DC;
border: 2px solid #6B8E23;
border-radius: 20px;
}
form {
width: 50%;
margin: 30px auto;
border-radius: 5px;
padding: 10px;
background: #FFF8DC;
border: 1px solid #6B8E23;
}
form p {
color: red;
margin: 0px;
}
.task_input {
width: 75%;
height: 15px;
padding: 10px;
border: 2px solid #6B8E23;
}
.add_btn {
height: 39px;
background: #FFF8DC;
color: #6B8E23;
border: 2px solid #6B8E23;
border-radius: 5px;
padding: 5px 20px;
}
table {
width: 50%;
margin: 30px auto;
border-collapse: collapse;
}
tr {
border-bottom: 1px solid #cbcbcb;
}
th {
font-size: 19px;
color: #6B8E23;
}
th, td{
border: none;
height: 30px;
padding: 2px;
}
tr:hover {
background: #E9E9E9;
}
.task {
text-align: left;
}
.delete{
text-align: center;
}
.delete a{
color: white;
background: #a52a2a;
padding: 1px 6px;
border-radius: 3px;
text-decoration: none;
}
Si nous actualisons notre navigateur maintenant, nous obtenons ceci :
Maintenant, nous écrivons le code pour enregistrer la tâche soumise dans la base de données.
Tout en haut du fichier index.php, avant la toute première ligne, ajoutez ce code :
<?php
// initialize errors variable
$errors = "";
// connect to database
$db = mysqli_connect("localhost", "root", "", "todo");
// insert a quote if submit button is clicked
if (isset($_POST['submit'])) {
if (empty($_POST['task'])) {
$errors = "You must fill in the task";
}else{
$task = $_POST['task'];
$sql = "INSERT INTO tasks (task) VALUES ('$task')";
mysqli_query($db, $sql);
header('location: index.php');
}
}
// ...
Cela signifie que si l'utilisateur clique sur le bouton Soumettre, la tâche est enregistrée dans la base de données. Cependant si aucune tâche n'a été remplie dans le formulaire, la valeur de la variable $errors est définie sur 'vous devez remplir la tâche'. Mais cela ne s'affiche pas. Affichez-le.
Collons ce code dans le formulaire. Directement sous la balise
du formulaire ://...
// </form>
<table>
<thead>
<tr>
<th>N</th>
<th>Tasks</th>
<th style="width: 60px;">Action</th>
</tr>
</thead>
<tbody>
<?php
// select all tasks if page is visited or refreshed
$tasks = mysqli_query($db, "SELECT * FROM tasks");
$i = 1; while ($row = mysqli_fetch_array($tasks)) { ?>
<tr>
<td> <?php echo $i; ?> </td>
<td class="task"> <?php echo $row['task']; ?> </td>
<td class="delete">
<a href="index.php?del_task=<?php echo $row['id'] ?>">x</a>
</td>
</tr>
<?php $i++; } ?>
</tbody>
</table>
Si nous saisissons une tâche dans le formulaire et que nous appuyons sur le bouton Soumettre, nous obtenons ceci :
Bon!
Faisons fonctionner notre bouton de suppression. En haut de la page, après le bloc if qui enregistre la tâche dans la base de données, ajoutez ce code :
// delete task
if (isset($_GET['del_task'])) {
$id = $_GET['del_task'];
mysqli_query($db, "DELETE FROM tasks WHERE id=".$id);
header('location: index.php');
}
?>
C'est tout. Si nous cliquons maintenant sur le petit bouton "x" à côté d'une tâche, cette tâche est supprimée de la base de données.
Conclusion
J'espère que cela vous aide. Une fonctionnalité que je vous recommande d'ajouter à cette application juste pour exercer davantage vos compétences est d'ajouter la fonction d'édition où un message peut être mis à jour même après sa création. Astuce :Suivez mon tutoriel sur CRUD : Créer, modifier, mettre à jour et supprimer des publications avec la base de données MySQL
Merci :D