diff --git a/data.php b/data.php
index 3e4e6c6..17df9db 100644
--- a/data.php
+++ b/data.php
@@ -3,41 +3,72 @@
header('Content-Type: application/json');
- $stmt = $pdo->query("SELECT kk.id,
+ /*$stmt = $pdo->query("SELECT kk.id,
vorderseite,
rueckseite,
farbe,
name
FROM karteikarte kk
- JOIN kategorie k ON k.id = kk.kategorie_id;");
+ JOIN kategorie k ON k.id = kk.kategorie_id;");*/
+
+
+ $stmt = $pdo->query("WITH zeile AS (SELECT d.id,
+ d.wort,
+ k.name,
+ i.wort AS italienisch,
+ COALESCE(f.farbe, 'black') AS farbe,
+ p.pronomen,
+ i.wortstamm,
+ i.suffix,
+ ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.personalpronomen_id NULLS FIRST, i.id) AS rn
+ FROM deutsch d
+ JOIN italienisch i ON i.deutsch_id = d.id
+ LEFT OUTER JOIN personalpronomen p ON p.id = i.personalpronomen_id
+ LEFT OUTER JOIN farbe f ON f.id = i.farbe_id
+ JOIN kategorie k ON k.id = d.kategorie_id
+ )
+ SELECT id,
+ wort AS deutsch,
+ name AS wortart,
+ MAX(CASE WHEN rn = 1 THEN italienisch END) AS italienisch_1,
+ MAX(CASE WHEN rn = 1 THEN farbe END) AS farbe_1,
+ MAX(CASE WHEN rn = 1 THEN pronomen END) AS pronomen_1,
+ MAX(CASE WHEN rn = 1 THEN wortstamm END) AS wortstamm_1,
+ MAX(CASE WHEN rn = 1 THEN suffix END) AS suffix_1,
+ MAX(CASE WHEN rn = 2 THEN italienisch END) AS italienisch_2,
+ MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_2,
+ MAX(CASE WHEN rn = 2 THEN pronomen END) AS pronomen_2,
+ MAX(CASE WHEN rn = 2 THEN wortstamm END) AS wortstamm_2,
+ MAX(CASE WHEN rn = 2 THEN suffix END) AS suffix_2,
+ MAX(CASE WHEN rn = 3 THEN italienisch END) AS italienisch_3,
+ MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_3,
+ MAX(CASE WHEN rn = 3 THEN pronomen END) AS pronomen_3,
+ MAX(CASE WHEN rn = 3 THEN wortstamm END) AS wortstamm_3,
+ MAX(CASE WHEN rn = 3 THEN suffix END) AS suffix_3,
+ MAX(CASE WHEN rn = 4 THEN italienisch END) AS italienisch_4,
+ MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_4,
+ MAX(CASE WHEN rn = 4 THEN pronomen END) AS pronomen_4,
+ MAX(CASE WHEN rn = 4 THEN wortstamm END) AS wortstamm_4,
+ MAX(CASE WHEN rn = 4 THEN suffix END) AS suffix_4,
+ MAX(CASE WHEN rn = 5 THEN italienisch END) AS italienisch_5,
+ MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_5,
+ MAX(CASE WHEN rn = 5 THEN pronomen END) AS pronomen_5,
+ MAX(CASE WHEN rn = 5 THEN wortstamm END) AS wortstamm_5,
+ MAX(CASE WHEN rn = 5 THEN suffix END) AS suffix_5,
+ MAX(CASE WHEN rn = 6 THEN italienisch END) AS italienisch_6,
+ MAX(CASE WHEN rn = 6 THEN farbe END) AS farbe_6,
+ MAX(CASE WHEN rn = 6 THEN pronomen END) AS pronomen_6,
+ MAX(CASE WHEN rn = 6 THEN wortstamm END) AS wortstamm_6,
+ MAX(CASE WHEN rn = 6 THEN suffix END) AS suffix_6,
+ MAX(CASE WHEN rn = 7 THEN italienisch END) AS italienisch_7,
+ MAX(CASE WHEN rn = 7 THEN farbe END) AS farbe_7,
+ MAX(CASE WHEN rn = 7 THEN pronomen END) AS pronomen_7,
+ MAX(CASE WHEN rn = 7 THEN wortstamm END) AS wortstamm_7,
+ MAX(CASE WHEN rn = 7 THEN suffix END) AS suffix_7
+ FROM zeile
+ GROUP BY id, wort, name
+ ORDER BY id;");
+
$karteikarten = $stmt->fetchAll(PDO::FETCH_ASSOC);
-/*WITH zeile AS (
- SELECT d.id,
- d.wort,
- k.name,
- i.wort AS italienisch,
- i.farbe_id AS farbe,
- ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.id) AS rn
- FROM deutsch d
- JOIN italienisch i ON i.deutsch_id = d.id
- JOIN kategorie k ON k.id = d.kategorie_id
-)
-SELECT id,
- wort,
- name,
- MAX(CASE WHEN rn = 1 THEN italienisch END) AS wort_1,
- MAX(CASE WHEN rn = 1 THEN farbe END) AS farbe_1,
- MAX(CASE WHEN rn = 2 THEN italienisch END) AS wort_2,
- MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_2,
- MAX(CASE WHEN rn = 3 THEN italienisch END) AS wort_3,
- MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_3,
- MAX(CASE WHEN rn = 4 THEN italienisch END) AS wort_4,
- MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_4,
- MAX(CASE WHEN rn = 5 THEN italienisch END) AS wort_5,
- MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_5
-FROM zeile
-GROUP BY id, wort, name
-ORDER BY wort;*/
-
echo json_encode($karteikarten);
\ No newline at end of file
diff --git a/index.php b/index.php
index 431bfe9..39271b1 100644
--- a/index.php
+++ b/index.php
@@ -3,7 +3,7 @@
$system = getenv('POSTGRES_SYSTEM') ?? 'test';
$stmt = $pdo -> query("SELECT COUNT(*) AS gesamtanzahl
- FROM karteikarte;");
+ FROM deutsch;");
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$gesamtanzahl = $row ? $row['gesamtanzahl'] : 0;
@@ -24,7 +24,86 @@
Leg“ los
-
+
+
diff --git a/style.css b/style.css
index 790680e..4586c11 100644
--- a/style.css
+++ b/style.css
@@ -1,5 +1,5 @@
html {
- font-size: 26px;
+ font-size: 24px;
font-family: Arial, Helvetica, sans-serif;
}
@@ -54,9 +54,9 @@ div.header{
.button-karteikarte {
display: none;
- font-size: 96px;
+ font-size: 40px;
font-family: Arial, Helvetica, sans-serif;
- width: 75%;
+ width: 85%;
margin-top: 25px;
padding: 25px 40px;
color: black;
@@ -66,6 +66,20 @@ div.header{
0 4px 8px rgba(0,0,0,0.3);
}
+.p-karteikarte {
+ display: none;
+ margin: 0px;
+}
+
+.p-karteikarte_verben {
+ margin: 0px;
+}
+
+.p-karteikarte_verben_suffix {
+ margin: 0px;
+ margin-left: 15px;
+}
+
#deutsch {
height: 250px;
}
@@ -76,14 +90,20 @@ div.header{
}
#italienisch {
- height: 750px;
+ height: 650px;
+ flex-direction: column;
+ align-items: center;
+}
+
+#italienisch_verben {
+ height: 500px;
}
div.inhalt {
margin-top: 150px;
height: calc(100vh - 80px);
display: flex;
- flex-direction:column;
+ flex-direction: column;
align-items: center;
}
@@ -118,4 +138,13 @@ a.menueLink {
a:visited {
color:#14748A;
+}
+
+.table-karteikarte {
+ width: 100%;
+ text-align: left;
+}
+
+.td-pronomen {
+ width: 30%;
}
\ No newline at end of file