mirror of
https://github.com/janunger/rheinwerk-video-training.git
synced 2026-02-06 07:05:14 +01:00
Kapitel 6 Lektion 7 gesplittet
This commit is contained in:
@@ -12,23 +12,3 @@ function holeDatenbankverbindung()
|
||||
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"]
|
||||
);
|
||||
}
|
||||
|
||||
function holeLied($liedId)
|
||||
{
|
||||
$db = holeDatenbankverbindung();
|
||||
$liedStatement = $db->prepare("
|
||||
SELECT
|
||||
lieder.track,
|
||||
lieder.titel,
|
||||
cds.id AS cd_id,
|
||||
cds.name AS cdname,
|
||||
kuenstler.name AS kuenstlername
|
||||
FROM lieder
|
||||
LEFT JOIN cds ON lieder.cd_id = cds.id
|
||||
LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id
|
||||
WHERE lieder.id = :lied_id
|
||||
");
|
||||
$liedStatement->execute(['lied_id' => $liedId]);
|
||||
|
||||
return $liedStatement->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
@@ -5,12 +5,8 @@ require __DIR__ . '/_application.php';
|
||||
$db = holeDatenbankverbindung();
|
||||
|
||||
if (count($_POST) > 0) {
|
||||
$insertStatement = $db->prepare("INSERT INTO lieder (cd_id, track, titel) VALUES (:cd_id, :track, :titel)");
|
||||
$insertStatement->execute([
|
||||
'cd_id' => $_GET['id'],
|
||||
'track' => $_POST['track'],
|
||||
'titel' => $_POST['titel']
|
||||
]);
|
||||
|
||||
// TODO: Lied in die Datenbank speichern
|
||||
|
||||
header('Location: cd.php?id=' . htmlspecialchars($_GET['id']));
|
||||
exit;
|
||||
@@ -29,7 +25,7 @@ $cdStatement = $db->prepare("
|
||||
$cdStatement->execute(['cd_id' => $_GET['id']]);
|
||||
$cd = $cdStatement->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id ORDER BY track ASC");
|
||||
$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id");
|
||||
$liederStatement->execute(['cd_id' => $_GET['id']]);
|
||||
$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
|
||||
@@ -3,26 +3,20 @@
|
||||
require __DIR__ . '/_application.php';
|
||||
|
||||
$meldungen = [];
|
||||
$db = holeDatenbankverbindung();
|
||||
|
||||
if (!isset($_GET['id'])) {
|
||||
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie bearbeiten möchten.';
|
||||
}
|
||||
|
||||
$lied = holeLied($_GET['id']);
|
||||
// TODO: Lied mit Angaben zu CD und Künstler aus der Datenbank laden
|
||||
$lied = [];
|
||||
if (!$lied) {
|
||||
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
||||
}
|
||||
|
||||
if (isset($_POST['aktion'])) {
|
||||
if ($_POST['aktion'] === 'speichern') {
|
||||
$updateStatement = $db->prepare("UPDATE lieder SET track = :track, titel = :titel WHERE id = :lied_id");
|
||||
$updateStatement->execute([
|
||||
'track' => $_POST['track'],
|
||||
'titel' => $_POST['titel'],
|
||||
'lied_id' => $_GET['id']
|
||||
]);
|
||||
}
|
||||
if (isset($_POST['aktion']) && $_POST['aktion'] === 'speichern') {
|
||||
|
||||
// TODO: Lied in der Datenbank aktualisieren
|
||||
|
||||
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||
exit;
|
||||
|
||||
@@ -3,22 +3,20 @@
|
||||
require __DIR__ . '/_application.php';
|
||||
|
||||
$meldungen = [];
|
||||
$db = holeDatenbankverbindung();
|
||||
|
||||
if (!isset($_GET['id'])) {
|
||||
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie löschen möchten.';
|
||||
}
|
||||
|
||||
$lied = holeLied($_GET['id']);
|
||||
// TODO: Lied aus der Datenbank laden (analog zu lied_bearbeiten.php)
|
||||
$lied = [];
|
||||
if (!$lied) {
|
||||
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
||||
}
|
||||
|
||||
if (isset($_POST['aktion'])) {
|
||||
if ($_POST['aktion'] === 'loeschen') {
|
||||
$deleteStatement = $db->prepare("DELETE FROM lieder WHERE id = :lied_id");
|
||||
$deleteStatement->execute(['lied_id' => $_GET['id']]);
|
||||
}
|
||||
if (isset($_POST['aktion']) && $_POST['aktion'] === 'loeschen') {
|
||||
|
||||
// TODO: Lied aus der Datenbank löschen
|
||||
|
||||
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||
exit;
|
||||
|
||||
Reference in New Issue
Block a user