mirror of
https://github.com/janunger/rheinwerk-video-training.git
synced 2024-11-21 14:43:42 +01:00
Kapitel 6 Lektion 7 gesplittet
This commit is contained in:
parent
88cf71d772
commit
a4afe1a11c
@ -12,23 +12,3 @@ function holeDatenbankverbindung()
|
|||||||
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"]
|
[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();
|
$db = holeDatenbankverbindung();
|
||||||
|
|
||||||
if (count($_POST) > 0) {
|
if (count($_POST) > 0) {
|
||||||
$insertStatement = $db->prepare("INSERT INTO lieder (cd_id, track, titel) VALUES (:cd_id, :track, :titel)");
|
|
||||||
$insertStatement->execute([
|
// TODO: Lied in die Datenbank speichern
|
||||||
'cd_id' => $_GET['id'],
|
|
||||||
'track' => $_POST['track'],
|
|
||||||
'titel' => $_POST['titel']
|
|
||||||
]);
|
|
||||||
|
|
||||||
header('Location: cd.php?id=' . htmlspecialchars($_GET['id']));
|
header('Location: cd.php?id=' . htmlspecialchars($_GET['id']));
|
||||||
exit;
|
exit;
|
||||||
@ -29,7 +25,7 @@ $cdStatement = $db->prepare("
|
|||||||
$cdStatement->execute(['cd_id' => $_GET['id']]);
|
$cdStatement->execute(['cd_id' => $_GET['id']]);
|
||||||
$cd = $cdStatement->fetch(PDO::FETCH_ASSOC);
|
$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']]);
|
$liederStatement->execute(['cd_id' => $_GET['id']]);
|
||||||
$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC);
|
$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
@ -3,26 +3,20 @@
|
|||||||
require __DIR__ . '/_application.php';
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
$meldungen = [];
|
$meldungen = [];
|
||||||
$db = holeDatenbankverbindung();
|
|
||||||
|
|
||||||
if (!isset($_GET['id'])) {
|
if (!isset($_GET['id'])) {
|
||||||
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie bearbeiten möchten.';
|
$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) {
|
if (!$lied) {
|
||||||
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_POST['aktion'])) {
|
if (isset($_POST['aktion']) && $_POST['aktion'] === 'speichern') {
|
||||||
if ($_POST['aktion'] === 'speichern') {
|
|
||||||
$updateStatement = $db->prepare("UPDATE lieder SET track = :track, titel = :titel WHERE id = :lied_id");
|
// TODO: Lied in der Datenbank aktualisieren
|
||||||
$updateStatement->execute([
|
|
||||||
'track' => $_POST['track'],
|
|
||||||
'titel' => $_POST['titel'],
|
|
||||||
'lied_id' => $_GET['id']
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
exit;
|
exit;
|
||||||
|
@ -3,22 +3,20 @@
|
|||||||
require __DIR__ . '/_application.php';
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
$meldungen = [];
|
$meldungen = [];
|
||||||
$db = holeDatenbankverbindung();
|
|
||||||
|
|
||||||
if (!isset($_GET['id'])) {
|
if (!isset($_GET['id'])) {
|
||||||
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie löschen möchten.';
|
$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) {
|
if (!$lied) {
|
||||||
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
$meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_POST['aktion'])) {
|
if (isset($_POST['aktion']) && $_POST['aktion'] === 'loeschen') {
|
||||||
if ($_POST['aktion'] === 'loeschen') {
|
|
||||||
$deleteStatement = $db->prepare("DELETE FROM lieder WHERE id = :lied_id");
|
// TODO: Lied aus der Datenbank löschen
|
||||||
$deleteStatement->execute(['lied_id' => $_GET['id']]);
|
|
||||||
}
|
|
||||||
|
|
||||||
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
exit;
|
exit;
|
||||||
|
14
Kapitel_6/Lektion_8/mediathek/_application.php
Executable file
14
Kapitel_6/Lektion_8/mediathek/_application.php
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return PDO
|
||||||
|
*/
|
||||||
|
function holeDatenbankverbindung()
|
||||||
|
{
|
||||||
|
return new PDO(
|
||||||
|
'mysql:dbname=mediathek;host=localhost',
|
||||||
|
'root',
|
||||||
|
'root',
|
||||||
|
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"]
|
||||||
|
);
|
||||||
|
}
|
73
Kapitel_6/Lektion_8/mediathek/cd.php
Executable file
73
Kapitel_6/Lektion_8/mediathek/cd.php
Executable file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
|
$db = holeDatenbankverbindung();
|
||||||
|
|
||||||
|
if (count($_POST) > 0) {
|
||||||
|
|
||||||
|
// TODO: Lied in die Datenbank speichern
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($_GET['id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cdStatement = $db->prepare("
|
||||||
|
SELECT
|
||||||
|
cds.id,
|
||||||
|
cds.name AS cdname,
|
||||||
|
cds.erscheinungsjahr,
|
||||||
|
kuenstler.name AS kuenstlername
|
||||||
|
FROM cds
|
||||||
|
LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id
|
||||||
|
WHERE cds.id = :cd_id
|
||||||
|
");
|
||||||
|
$cdStatement->execute(['cd_id' => $_GET['id']]);
|
||||||
|
$cd = $cdStatement->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id");
|
||||||
|
$liederStatement->execute(['cd_id' => $_GET['id']]);
|
||||||
|
$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>
|
||||||
|
<?= htmlspecialchars($cd['cdname']) ?>
|
||||||
|
(<?= htmlspecialchars($cd['kuenstlername']) ?>, <?= htmlspecialchars($cd['erscheinungsjahr']) ?>)
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<form action="cd.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Track</th>
|
||||||
|
<th>Titel</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
<?php foreach ($lieder as $lied): ?>
|
||||||
|
<tr>
|
||||||
|
<td><?= htmlspecialchars($lied['track']) ?></td>
|
||||||
|
<td><?= htmlspecialchars($lied['titel']) ?></td>
|
||||||
|
<td><a href="lied_bearbeiten.php?id=<?= htmlspecialchars($lied['id']) ?>">Bearbeiten ...</a></td>
|
||||||
|
<td><a href="lied_loeschen.php?id=<?= htmlspecialchars($lied['id']) ?>">Löschen ...</a></td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<tr>
|
||||||
|
<td><input type="text" name="track" placeholder="Track"/></td>
|
||||||
|
<td><input type="text" name="titel" placeholder="Titel"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<input type="submit" value="Hinzufügen"/>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<p><a href="index.php">zur Übersicht</a></p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
46
Kapitel_6/Lektion_8/mediathek/index.php
Executable file
46
Kapitel_6/Lektion_8/mediathek/index.php
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
|
$db = holeDatenbankverbindung();
|
||||||
|
$statement = $db->query("
|
||||||
|
SELECT
|
||||||
|
cds.id,
|
||||||
|
cds.name AS cdname,
|
||||||
|
cds.erscheinungsjahr,
|
||||||
|
kuenstler.name AS kuenstlername
|
||||||
|
FROM cds
|
||||||
|
LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id
|
||||||
|
");
|
||||||
|
$cds = $statement->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Künstler</th>
|
||||||
|
<th>Album</th>
|
||||||
|
<th>Erscheinungsjahr</th>
|
||||||
|
</tr>
|
||||||
|
<?php foreach ($cds as $cd): ?>
|
||||||
|
<tr>
|
||||||
|
<td><?= htmlspecialchars($cd['kuenstlername']) ?></td>
|
||||||
|
<td>
|
||||||
|
<a href="cd.php?id=<?= $cd['id'] ?>">
|
||||||
|
<?= htmlspecialchars($cd['cdname']) ?>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td><?= htmlspecialchars($cd['erscheinungsjahr']) ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
57
Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php
Executable file
57
Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
|
$meldungen = [];
|
||||||
|
|
||||||
|
if (!isset($_GET['id'])) {
|
||||||
|
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie bearbeiten möchten.';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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']) && $_POST['aktion'] === 'speichern') {
|
||||||
|
|
||||||
|
// TODO: Lied in der Datenbank aktualisieren
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php if (count($meldungen) > 0): ?>
|
||||||
|
<p>Fehler:</p>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($meldungen as $meldung): ?>
|
||||||
|
<li><?= htmlspecialchars($meldung) ?></li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php endif; ?>
|
||||||
|
<form action="lied_bearbeiten.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<h1>Lied bearbeiten</h1>
|
||||||
|
<h2>'<?= htmlspecialchars($lied['cdname']) ?>' (<?= htmlspecialchars($lied['kuenstlername']) ?>)</h2>
|
||||||
|
|
||||||
|
<label>Track
|
||||||
|
<input type="text" name="track" value="<?= htmlspecialchars($lied['track']) ?>"/>
|
||||||
|
</label>
|
||||||
|
<label>Titel
|
||||||
|
<input type="text" name="titel" value="<?= htmlspecialchars($lied['titel']) ?>"/>
|
||||||
|
</label>
|
||||||
|
<button type="submit" name="aktion" value="speichern">Speichern</button>
|
||||||
|
<button type="submit" name="aktion" value="abbrechen">Abbrechen</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
56
Kapitel_6/Lektion_8/mediathek/lied_loeschen.php
Executable file
56
Kapitel_6/Lektion_8/mediathek/lied_loeschen.php
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
|
$meldungen = [];
|
||||||
|
|
||||||
|
if (!isset($_GET['id'])) {
|
||||||
|
$meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie löschen möchten.';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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']) && $_POST['aktion'] === 'loeschen') {
|
||||||
|
|
||||||
|
// TODO: Lied aus der Datenbank löschen
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php if (count($meldungen) > 0): ?>
|
||||||
|
<p>Fehler:</p>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($meldungen as $meldung): ?>
|
||||||
|
<li><?= htmlspecialchars($meldung) ?></li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php else: ?>
|
||||||
|
<form action="lied_loeschen.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<h1>Lied löschen</h1>
|
||||||
|
<h2>'<?= htmlspecialchars($lied['cdname']) ?>' (<?= htmlspecialchars($lied['kuenstlername']) ?>)</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Möchten Sie Track <?= $lied['track'] ?> '<?= htmlspecialchars($lied['titel']) ?>' löschen?<br>
|
||||||
|
Diese Aktion kann nicht rückgängig gemacht werden.
|
||||||
|
</p>
|
||||||
|
<button type="submit" name="aktion" value="loeschen">Löschen!</button>
|
||||||
|
<button type="submit" name="aktion" value="abbrechen">Abbrechen</button>
|
||||||
|
</form>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
153
Kapitel_6/Lektion_8/mediathek/mediathek.sql
Executable file
153
Kapitel_6/Lektion_8/mediathek/mediathek.sql
Executable file
@ -0,0 +1,153 @@
|
|||||||
|
-- phpMyAdmin SQL Dump
|
||||||
|
-- version 4.4.10
|
||||||
|
-- http://www.phpmyadmin.net
|
||||||
|
--
|
||||||
|
-- Host: localhost:3306
|
||||||
|
-- Erstellungszeit: 08. Aug 2016 um 18:32
|
||||||
|
-- Server-Version: 5.5.42
|
||||||
|
-- PHP-Version: 7.0.8
|
||||||
|
|
||||||
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Datenbank: `mediathek`
|
||||||
|
--
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `cds`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `cds`;
|
||||||
|
CREATE TABLE `cds` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`kuenstler_id` int(11) NOT NULL,
|
||||||
|
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
`erscheinungsjahr` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `cds`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `cds` (`id`, `kuenstler_id`, `name`, `erscheinungsjahr`) VALUES
|
||||||
|
(1, 1, 'Wallflower', 2015),
|
||||||
|
(2, 2, 'Wo der Pfeffer wächst', 2004),
|
||||||
|
(3, 1, 'The Girl In The Other Room', 2004);
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `kuenstler`;
|
||||||
|
CREATE TABLE `kuenstler` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`name` varchar(32) COLLATE utf8_unicode_ci NOT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `kuenstler` (`id`, `name`) VALUES
|
||||||
|
(1, 'Diana Krall'),
|
||||||
|
(2, 'Wise Guys');
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `lieder`;
|
||||||
|
CREATE TABLE `lieder` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`cd_id` int(11) NOT NULL,
|
||||||
|
`track` int(11) NOT NULL,
|
||||||
|
`titel` varchar(64) COLLATE utf8_unicode_ci NOT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `lieder` (`id`, `cd_id`, `track`, `titel`) VALUES
|
||||||
|
(1, 1, 1, 'California Dreamin'''),
|
||||||
|
(2, 1, 2, 'Desperado'),
|
||||||
|
(3, 1, 3, 'Superstar'),
|
||||||
|
(4, 2, 1, 'Wo der Pfeffer wächst'),
|
||||||
|
(5, 2, 2, 'Einer von den Wise Guys'),
|
||||||
|
(6, 3, 1, 'Stop This World');
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes der exportierten Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
ADD PRIMARY KEY (`id`),
|
||||||
|
ADD KEY `kuenstler_id` (`kuenstler_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
ALTER TABLE `kuenstler`
|
||||||
|
ADD PRIMARY KEY (`id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
ADD PRIMARY KEY (`id`),
|
||||||
|
ADD KEY `cd_id` (`cd_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für exportierte Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
ALTER TABLE `kuenstler`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
|
||||||
|
--
|
||||||
|
-- Constraints der exportierten Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints der Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
ADD CONSTRAINT `cds_ibfk_1` FOREIGN KEY (`kuenstler_id`) REFERENCES `kuenstler` (`id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints der Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
ADD CONSTRAINT `lieder_ibfk_1` FOREIGN KEY (`cd_id`) REFERENCES `cds` (`id`);
|
||||||
|
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
34
Kapitel_6/Lektion_8/mediathek_loesung/_application.php
Executable file
34
Kapitel_6/Lektion_8/mediathek_loesung/_application.php
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return PDO
|
||||||
|
*/
|
||||||
|
function holeDatenbankverbindung()
|
||||||
|
{
|
||||||
|
return new PDO(
|
||||||
|
'mysql:dbname=mediathek;host=localhost',
|
||||||
|
'root',
|
||||||
|
'root',
|
||||||
|
[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);
|
||||||
|
}
|
77
Kapitel_6/Lektion_8/mediathek_loesung/cd.php
Executable file
77
Kapitel_6/Lektion_8/mediathek_loesung/cd.php
Executable file
@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
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']
|
||||||
|
]);
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($_GET['id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cdStatement = $db->prepare("
|
||||||
|
SELECT
|
||||||
|
cds.id,
|
||||||
|
cds.name AS cdname,
|
||||||
|
cds.erscheinungsjahr,
|
||||||
|
kuenstler.name AS kuenstlername
|
||||||
|
FROM cds
|
||||||
|
LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id
|
||||||
|
WHERE cds.id = :cd_id
|
||||||
|
");
|
||||||
|
$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->execute(['cd_id' => $_GET['id']]);
|
||||||
|
$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>
|
||||||
|
<?= htmlspecialchars($cd['cdname']) ?>
|
||||||
|
(<?= htmlspecialchars($cd['kuenstlername']) ?>, <?= htmlspecialchars($cd['erscheinungsjahr']) ?>)
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<form action="cd.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Track</th>
|
||||||
|
<th>Titel</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
<?php foreach ($lieder as $lied): ?>
|
||||||
|
<tr>
|
||||||
|
<td><?= htmlspecialchars($lied['track']) ?></td>
|
||||||
|
<td><?= htmlspecialchars($lied['titel']) ?></td>
|
||||||
|
<td><a href="lied_bearbeiten.php?id=<?= htmlspecialchars($lied['id']) ?>">Bearbeiten ...</a></td>
|
||||||
|
<td><a href="lied_loeschen.php?id=<?= htmlspecialchars($lied['id']) ?>">Löschen ...</a></td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<tr>
|
||||||
|
<td><input type="text" name="track" placeholder="Track"/></td>
|
||||||
|
<td><input type="text" name="titel" placeholder="Titel"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<input type="submit" value="Hinzufügen"/>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<p><a href="index.php">zur Übersicht</a></p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
46
Kapitel_6/Lektion_8/mediathek_loesung/index.php
Executable file
46
Kapitel_6/Lektion_8/mediathek_loesung/index.php
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require __DIR__ . '/_application.php';
|
||||||
|
|
||||||
|
$db = holeDatenbankverbindung();
|
||||||
|
$statement = $db->query("
|
||||||
|
SELECT
|
||||||
|
cds.id,
|
||||||
|
cds.name AS cdname,
|
||||||
|
cds.erscheinungsjahr,
|
||||||
|
kuenstler.name AS kuenstlername
|
||||||
|
FROM cds
|
||||||
|
LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id
|
||||||
|
");
|
||||||
|
$cds = $statement->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Künstler</th>
|
||||||
|
<th>Album</th>
|
||||||
|
<th>Erscheinungsjahr</th>
|
||||||
|
</tr>
|
||||||
|
<?php foreach ($cds as $cd): ?>
|
||||||
|
<tr>
|
||||||
|
<td><?= htmlspecialchars($cd['kuenstlername']) ?></td>
|
||||||
|
<td>
|
||||||
|
<a href="cd.php?id=<?= $cd['id'] ?>">
|
||||||
|
<?= htmlspecialchars($cd['cdname']) ?>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td><?= htmlspecialchars($cd['erscheinungsjahr']) ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
63
Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php
Executable file
63
Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
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']);
|
||||||
|
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']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php if (count($meldungen) > 0): ?>
|
||||||
|
<p>Fehler:</p>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($meldungen as $meldung): ?>
|
||||||
|
<li><?= htmlspecialchars($meldung) ?></li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php endif; ?>
|
||||||
|
<form action="lied_bearbeiten.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<h1>Lied bearbeiten</h1>
|
||||||
|
<h2>'<?= htmlspecialchars($lied['cdname']) ?>' (<?= htmlspecialchars($lied['kuenstlername']) ?>)</h2>
|
||||||
|
|
||||||
|
<label>Track
|
||||||
|
<input type="text" name="track" value="<?= htmlspecialchars($lied['track']) ?>"/>
|
||||||
|
</label>
|
||||||
|
<label>Titel
|
||||||
|
<input type="text" name="titel" value="<?= htmlspecialchars($lied['titel']) ?>"/>
|
||||||
|
</label>
|
||||||
|
<button type="submit" name="aktion" value="speichern">Speichern</button>
|
||||||
|
<button type="submit" name="aktion" value="abbrechen">Abbrechen</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
58
Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php
Executable file
58
Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
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']);
|
||||||
|
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']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mediathek</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php if (count($meldungen) > 0): ?>
|
||||||
|
<p>Fehler:</p>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($meldungen as $meldung): ?>
|
||||||
|
<li><?= htmlspecialchars($meldung) ?></li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php else: ?>
|
||||||
|
<form action="lied_loeschen.php?id=<?= htmlspecialchars($_GET['id']) ?>" method="post">
|
||||||
|
<h1>Lied löschen</h1>
|
||||||
|
<h2>'<?= htmlspecialchars($lied['cdname']) ?>' (<?= htmlspecialchars($lied['kuenstlername']) ?>)</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Möchten Sie Track <?= $lied['track'] ?> '<?= htmlspecialchars($lied['titel']) ?>' löschen?<br>
|
||||||
|
Diese Aktion kann nicht rückgängig gemacht werden.
|
||||||
|
</p>
|
||||||
|
<button type="submit" name="aktion" value="loeschen">Löschen!</button>
|
||||||
|
<button type="submit" name="aktion" value="abbrechen">Abbrechen</button>
|
||||||
|
</form>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
153
Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql
Executable file
153
Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql
Executable file
@ -0,0 +1,153 @@
|
|||||||
|
-- phpMyAdmin SQL Dump
|
||||||
|
-- version 4.4.10
|
||||||
|
-- http://www.phpmyadmin.net
|
||||||
|
--
|
||||||
|
-- Host: localhost:3306
|
||||||
|
-- Erstellungszeit: 08. Aug 2016 um 18:32
|
||||||
|
-- Server-Version: 5.5.42
|
||||||
|
-- PHP-Version: 7.0.8
|
||||||
|
|
||||||
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Datenbank: `mediathek`
|
||||||
|
--
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `cds`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `cds`;
|
||||||
|
CREATE TABLE `cds` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`kuenstler_id` int(11) NOT NULL,
|
||||||
|
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
`erscheinungsjahr` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `cds`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `cds` (`id`, `kuenstler_id`, `name`, `erscheinungsjahr`) VALUES
|
||||||
|
(1, 1, 'Wallflower', 2015),
|
||||||
|
(2, 2, 'Wo der Pfeffer wächst', 2004),
|
||||||
|
(3, 1, 'The Girl In The Other Room', 2004);
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `kuenstler`;
|
||||||
|
CREATE TABLE `kuenstler` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`name` varchar(32) COLLATE utf8_unicode_ci NOT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `kuenstler` (`id`, `name`) VALUES
|
||||||
|
(1, 'Diana Krall'),
|
||||||
|
(2, 'Wise Guys');
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Tabellenstruktur für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `lieder`;
|
||||||
|
CREATE TABLE `lieder` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`cd_id` int(11) NOT NULL,
|
||||||
|
`track` int(11) NOT NULL,
|
||||||
|
`titel` varchar(64) COLLATE utf8_unicode_ci NOT NULL
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Daten für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `lieder` (`id`, `cd_id`, `track`, `titel`) VALUES
|
||||||
|
(1, 1, 1, 'California Dreamin'''),
|
||||||
|
(2, 1, 2, 'Desperado'),
|
||||||
|
(3, 1, 3, 'Superstar'),
|
||||||
|
(4, 2, 1, 'Wo der Pfeffer wächst'),
|
||||||
|
(5, 2, 2, 'Einer von den Wise Guys'),
|
||||||
|
(6, 3, 1, 'Stop This World');
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes der exportierten Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
ADD PRIMARY KEY (`id`),
|
||||||
|
ADD KEY `kuenstler_id` (`kuenstler_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
ALTER TABLE `kuenstler`
|
||||||
|
ADD PRIMARY KEY (`id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indizes für die Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
ADD PRIMARY KEY (`id`),
|
||||||
|
ADD KEY `cd_id` (`cd_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für exportierte Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `kuenstler`
|
||||||
|
--
|
||||||
|
ALTER TABLE `kuenstler`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT für Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
|
||||||
|
--
|
||||||
|
-- Constraints der exportierten Tabellen
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints der Tabelle `cds`
|
||||||
|
--
|
||||||
|
ALTER TABLE `cds`
|
||||||
|
ADD CONSTRAINT `cds_ibfk_1` FOREIGN KEY (`kuenstler_id`) REFERENCES `kuenstler` (`id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints der Tabelle `lieder`
|
||||||
|
--
|
||||||
|
ALTER TABLE `lieder`
|
||||||
|
ADD CONSTRAINT `lieder_ibfk_1` FOREIGN KEY (`cd_id`) REFERENCES `cds` (`id`);
|
||||||
|
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
Loading…
Reference in New Issue
Block a user