Daten ändern
Um ein ändern (update) deiner vorhanden Daten mit PHP und MySQL durchzuführen, benötigst du folgende Code-Anweisung:Anklicken zum Kopieren
$stmt = $conn->prepare("UPDATE benutzer SET name = ?, `alter` = ?, email = ? WHERE id = ?");
$stmt->execute([$name, $alter, $email, $id]);
Mit
UPDATE
wird deine Datenbankt-Tabelle benutzer
angewiesen, die Felder name
, alter
und email
mit den Werten in den Variablen $name
, $alter
und $email
zu befüllen.Um das in unserer Benutzerdaten-Verwaltung umzusetzen, benötigst du den folgenden Code. Da er inzwischen recht umfrangreich geworden ist, hier der gesamte Code, von vorne bis hinten. Am Ende des Codes gibt es noch ein paar Ergänzungen dazu:
Anklicken zum Kopieren
<?php
require "db-connection.php";
// Funktion zum Hinzufügen eines neuen Benutzers
function addBenutzer($name, $alter, $email)
{
global $conn;
$stmt = $conn->prepare("INSERT INTO benutzer (name, `alter`, email) VALUES (?, ?, ?)");
$stmt->execute([$name, $alter, $email]);
}
// Funktion zum Löschen eines Benutzers
function deleteBenutzer($id)
{
global $conn;
$stmt = $conn->prepare("DELETE FROM benutzer WHERE id = ?");
$stmt->execute([$id]);
}
// Funktion zum Aktualisieren der Benutzerdaten
function updateBenutzer($id, $name, $alter, $email)
{
global $conn;
$stmt = $conn->prepare("UPDATE benutzer SET name = ?, `alter` = ?, email = ? WHERE id = ?");
$stmt->execute([$name, $alter, $email, $id]);
}
// Überprüfen, ob das Formular zum Hinzufügen gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["add"])) {
$name = $_POST["name"];
$alter = $_POST["alter"];
$email = $_POST["email"];
// Neuen Benutzer hinzufügen
addBenutzer($name, $alter, $email);
}
// Überprüfen, ob das Formular zum Löschen gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["delete"])) {
$id = $_POST["delete"];
// Benutzer löschen
deleteBenutzer($id);
}
// Überprüfen, ob das Formular zur Aktualisierung gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["update"])) {
$id = $_POST["update"];
$name = $_POST["name"];
$alter = $_POST["alter"];
$email = $_POST["email"];
// Benutzerdaten aktualisieren
updateBenutzer($id, $name, $alter, $email);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Benutzerdaten</title>
<style>
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
}
</style>
</head>
<body>
<h1>Benutzerdaten</h1>
<table>
<tr>
<th>Name</th>
<th>Alter</th>
<th>Email</th>
<th colspan="2">Aktionen</th>
</tr>
<?php
$stmt = $conn->query("SELECT * FROM benutzer");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0) {
foreach ($rows as $row) {
echo "<tr>";
echo "<td>";
if (isset($_POST["edit"]) && $_POST["edit"] == $row["id"]) {
echo "<form method='POST' style='display: inline;'>";
echo "<input type='hidden' name='update' value='" . $row["id"] . "'>";
echo "<input type='text' name='name' value='" . $row["name"] . "' required>";
echo "</td><td>";
echo "<input type='number' name='alter' value='" . $row["alter"] . "' required>";
echo "</td><td>";
echo "<input type='email' name='email' value='" . $row["email"] . "' required>";
echo "</td><td>";
echo "<input type='submit' value='Speichern'>";
echo "</form>";
} else {
echo $row["name"];
}
echo "</td><td>";
echo $row["alter"];
echo "</td><td>";
echo $row["email"];
echo "</td><td>";
if (!isset($_POST["edit"]) || $_POST["edit"] != $row["id"]) {
echo "<form method='POST' style='display: inline;'>";
echo "<input type='hidden' name='edit' value='" . $row["id"] . "'>";
echo "<input type='submit' value='Bearbeiten'>";
echo "</form>";
}
echo "</td><td>";
echo "<form method='POST' style='display: inline;'>";
echo "<input type='hidden' name='delete' value='" . $row["id"] . "'>";
echo "<input type='submit' value='Löschen'>";
echo "</form>";
echo "</td>";
echo "</tr>";
}
} else {
echo "<tr><td colspan='4'>Keine Benutzerdaten vorhanden</td></tr>";
}
?>
</table>
<h2>Neuen Benutzer hinzufügen</h2>
<form method="POST">
<label for="name">Name:</label>
<input type="text" name="name" required>
<br>
<label for="alter">Alter:</label>
<input type="number" name="alter" required>
<br>
<label for="email">Email:</label>
<input type="email" name="email" required>
<br>
<input type="submit" name="add" value="Benutzer hinzufügen">
</form>
</body>
</html>
<?php
// Datenbankverbindung schließen
$conn = null;
?>
In dieser Lösung wurde eine weitere Funktion
updateBenutzer
hinzugefügt, um die Benutzerdaten in der Datenbank zu aktualisieren. Der Code wurde um die Verarbeitung des Aktualisierungsformulars erweitert.Wenn das Aktualisierungsformular abgeschickt wird, werden die Benutzerdaten (ID, Name, Alter, E-Mail) aus dem Formular abgerufen und an die Funktion
updateBenutzer
übergeben. Die Funktion führt eine SQL-UPDATE
-Anweisung aus, um die Benutzerdaten in der Datenbank zu aktualisieren.Im HTML-Code wurde eine neue Spalte "Bearbeiten" zur Tabelle hinzugefügt. Wenn der "Bearbeiten"-Button in einer Zeile gedrückt wird, wird das Aktualisierungsformular angezeigt, in dem die aktuellen Benutzerdaten angezeigt werden. Wenn das Formular abgeschickt wird, werden die geänderten Benutzerdaten an die Funktion
updateBenutzer
übergeben.Kommentare
Möchtest du etwas zu diesem Tutorial sagen?
Werbung
Du suchst einen günstigen Anbieter für Webhosting? Netcup hat alles, was du suchst!
Sichere dir jetzt einen 5€-Gutschein für Neukunden!