Eine einfache Todo-Listenanwendung, die vom Benutzer in einem Formular eingereichte Aufgaben aufnimmt und in einer MySQL-Datenbank speichert. Die Aufgaben werden auch aus der Datenbank abgerufen und auf der Webseite mit einer Löschschaltfläche neben jeder Aufgabe angezeigt. Wenn auf die Schaltfläche „Löschen“ geklickt wird, wird die Aufgabe aus der Datenbank gelöscht.
Das werden wir in diesem Tutorial bauen.
Lassen Sie uns wie gewohnt unsere Datenbank erstellen. Erstellen Sie eine Datenbank namens todo und erstellen Sie darin eine Tabelle namens tasks. Die Aufgabentabelle hat nur zwei Felder, nämlich:
- id - int(10)
- Aufgabe - varchar(255)
Erstellen Sie nun zwei Dateien:
- index.php
- style.css
Öffnen Sie sie in einem Texteditor und fügen Sie den folgenden Code in die Datei index.php ein:
<!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>
Wenn Sie sich Ihre Seite jetzt im Browser ansehen, sieht sie etwa so aus:
Lassen Sie uns das Styling hinzufügen. Fügen Sie direkt unter dem Tag
<link rel="stylesheet" type="text/css" href="style.css">
Öffnen Sie die zuvor erstellte style.css-Datei und fügen Sie diesen Styling-Code ein:
.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;
}
Wenn wir jetzt unseren Browser aktualisieren, erhalten wir Folgendes:
Jetzt schreiben wir den Code, um die übermittelte Aufgabe in der Datenbank zu speichern.
Fügen Sie ganz oben in der Datei index.php vor der allerersten Zeile diesen Code hinzu:
<?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');
}
}
// ...
Wenn der Benutzer auf die Schaltfläche „Senden“ klickt, wird die Aufgabe in der Datenbank gespeichert. Wenn jedoch keine Aufgabe im Formular ausgefüllt wurde, wird der Wert der $errors-Variablen auf "Sie müssen die Aufgabe ausfüllen" gesetzt. Das wird aber nicht angezeigt. Zeigen wir es an.
Lassen Sie uns diesen Code in das Formular einfügen. Direkt unter dem
-Tag des Formulars ein://...
// </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>
Wenn wir eine Aufgabe in das Formular eingeben und auf die Schaltfläche „Senden“ klicken, erhalten wir Folgendes:
Gut!
Lassen Sie uns unseren Löschknopf zum Laufen bringen. Fügen Sie oben auf der Seite nach dem if-Block, der die Aufgabe in der Datenbank speichert, diesen Code hinzu:
// delete task
if (isset($_GET['del_task'])) {
$id = $_GET['del_task'];
mysqli_query($db, "DELETE FROM tasks WHERE id=".$id);
header('location: index.php');
}
?>
Das ist alles. Wenn wir jetzt bei einer Aufgabe auf das kleine 'x' klicken, wird diese Aufgabe in der Datenbank gelöscht.
Schlussfolgerung
Hoffe das hilft dir. Eine Funktion, die Sie dieser App hinzufügen möchten, um Ihre Fähigkeiten weiter zu trainieren, ist das Hinzufügen der Bearbeitungsfunktion, mit der ein Beitrag auch nach seiner Erstellung aktualisiert werden kann. Tipp:Folgen Sie meinem Tutorial zu CRUD: Posts mit MySQL-Datenbank erstellen, bearbeiten, aktualisieren und löschen
Danke :D