Datenbankänderung: Wortstamm und Endung getauscht und z.T. umbenannt

This commit is contained in:
p3t3rp1Lz 2026-04-19 12:57:08 +02:00
parent b3b38dcd14
commit 8ba08e81e5
2 changed files with 87 additions and 95 deletions

122
data.php
View File

@ -3,71 +3,63 @@
header('Content-Type: application/json'); header('Content-Type: application/json');
/*$stmt = $pdo->query("SELECT kk.id, $stmt = $pdo->query("WITH zeile AS (
vorderseite, SELECT d.id,
rueckseite, d.wort,
farbe, k.name,
name i.wort AS italienisch,
FROM karteikarte kk COALESCE(f.farbe, 'black') AS farbe,
JOIN kategorie k ON k.id = kk.kategorie_id;");*/ p.pronomen,
i.endung,
i.suffix,
$stmt = $pdo->query("WITH zeile AS (SELECT d.id, ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.personalpronomen_id NULLS FIRST, i.id) AS rn
d.wort, FROM deutsch d
k.name, JOIN italienisch i ON i.deutsch_id = d.id
i.wort AS italienisch, LEFT OUTER JOIN personalpronomen p ON p.id = i.personalpronomen_id
COALESCE(f.farbe, 'black') AS farbe, LEFT OUTER JOIN farbe f ON f.id = i.farbe_id
p.pronomen, JOIN kategorie k ON k.id = d.kategorie_id
i.wortstamm, )
i.suffix, SELECT id,
ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.personalpronomen_id NULLS FIRST, i.id) AS rn wort AS deutsch,
FROM deutsch d name AS wortart,
JOIN italienisch i ON i.deutsch_id = d.id MAX(CASE WHEN rn = 1 THEN italienisch END) AS italienisch_1,
LEFT OUTER JOIN personalpronomen p ON p.id = i.personalpronomen_id MAX(CASE WHEN rn = 1 THEN farbe END) AS farbe_1,
LEFT OUTER JOIN farbe f ON f.id = i.farbe_id MAX(CASE WHEN rn = 1 THEN pronomen END) AS pronomen_1,
JOIN kategorie k ON k.id = d.kategorie_id MAX(CASE WHEN rn = 1 THEN endung END) AS endung_1,
) MAX(CASE WHEN rn = 1 THEN suffix END) AS suffix_1,
SELECT id, MAX(CASE WHEN rn = 2 THEN italienisch END) AS italienisch_2,
wort AS deutsch, MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_2,
name AS wortart, MAX(CASE WHEN rn = 2 THEN pronomen END) AS pronomen_2,
MAX(CASE WHEN rn = 1 THEN italienisch END) AS italienisch_1, MAX(CASE WHEN rn = 2 THEN endung END) AS endung_2,
MAX(CASE WHEN rn = 1 THEN farbe END) AS farbe_1, MAX(CASE WHEN rn = 2 THEN suffix END) AS suffix_2,
MAX(CASE WHEN rn = 1 THEN pronomen END) AS pronomen_1, MAX(CASE WHEN rn = 3 THEN italienisch END) AS italienisch_3,
MAX(CASE WHEN rn = 1 THEN wortstamm END) AS wortstamm_1, MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_3,
MAX(CASE WHEN rn = 1 THEN suffix END) AS suffix_1, MAX(CASE WHEN rn = 3 THEN pronomen END) AS pronomen_3,
MAX(CASE WHEN rn = 2 THEN italienisch END) AS italienisch_2, MAX(CASE WHEN rn = 3 THEN endung END) AS endung_3,
MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_2, MAX(CASE WHEN rn = 3 THEN suffix END) AS suffix_3,
MAX(CASE WHEN rn = 2 THEN pronomen END) AS pronomen_2, MAX(CASE WHEN rn = 4 THEN italienisch END) AS italienisch_4,
MAX(CASE WHEN rn = 2 THEN wortstamm END) AS wortstamm_2, MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_4,
MAX(CASE WHEN rn = 2 THEN suffix END) AS suffix_2, MAX(CASE WHEN rn = 4 THEN pronomen END) AS pronomen_4,
MAX(CASE WHEN rn = 3 THEN italienisch END) AS italienisch_3, MAX(CASE WHEN rn = 4 THEN endung END) AS endung_4,
MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_3, MAX(CASE WHEN rn = 4 THEN suffix END) AS suffix_4,
MAX(CASE WHEN rn = 3 THEN pronomen END) AS pronomen_3, MAX(CASE WHEN rn = 5 THEN italienisch END) AS italienisch_5,
MAX(CASE WHEN rn = 3 THEN wortstamm END) AS wortstamm_3, MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_5,
MAX(CASE WHEN rn = 3 THEN suffix END) AS suffix_3, MAX(CASE WHEN rn = 5 THEN pronomen END) AS pronomen_5,
MAX(CASE WHEN rn = 4 THEN italienisch END) AS italienisch_4, MAX(CASE WHEN rn = 5 THEN endung END) AS endung_5,
MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_4, MAX(CASE WHEN rn = 5 THEN suffix END) AS suffix_5,
MAX(CASE WHEN rn = 4 THEN pronomen END) AS pronomen_4, MAX(CASE WHEN rn = 6 THEN italienisch END) AS italienisch_6,
MAX(CASE WHEN rn = 4 THEN wortstamm END) AS wortstamm_4, MAX(CASE WHEN rn = 6 THEN farbe END) AS farbe_6,
MAX(CASE WHEN rn = 4 THEN suffix END) AS suffix_4, MAX(CASE WHEN rn = 6 THEN pronomen END) AS pronomen_6,
MAX(CASE WHEN rn = 5 THEN italienisch END) AS italienisch_5, MAX(CASE WHEN rn = 6 THEN endung END) AS endung_6,
MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_5, MAX(CASE WHEN rn = 6 THEN suffix END) AS suffix_6,
MAX(CASE WHEN rn = 5 THEN pronomen END) AS pronomen_5, MAX(CASE WHEN rn = 7 THEN italienisch END) AS italienisch_7,
MAX(CASE WHEN rn = 5 THEN wortstamm END) AS wortstamm_5, MAX(CASE WHEN rn = 7 THEN farbe END) AS farbe_7,
MAX(CASE WHEN rn = 5 THEN suffix END) AS suffix_5, MAX(CASE WHEN rn = 7 THEN pronomen END) AS pronomen_7,
MAX(CASE WHEN rn = 6 THEN italienisch END) AS italienisch_6, MAX(CASE WHEN rn = 7 THEN endung END) AS endung_7,
MAX(CASE WHEN rn = 6 THEN farbe END) AS farbe_6, MAX(CASE WHEN rn = 7 THEN suffix END) AS suffix_7
MAX(CASE WHEN rn = 6 THEN pronomen END) AS pronomen_6, FROM zeile
MAX(CASE WHEN rn = 6 THEN wortstamm END) AS wortstamm_6, GROUP BY id, wort, name
MAX(CASE WHEN rn = 6 THEN suffix END) AS suffix_6, ORDER BY id;");
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); $karteikarten = $stmt->fetchAll(PDO::FETCH_ASSOC);

View File

@ -38,7 +38,7 @@
<tr> <tr>
<td colspan="2"> <td colspan="2">
<p class="p-karteikarte_verben" id="italienisch_wortstamm_1" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_1" />
<p class="p-karteikarte_verben" id="italienisch_verben_1" /> <p class="p-karteikarte_verben" id="italienisch_endung_1" />
<p class="p-karteikarte_verben" id="italienisch_suffix_1" /> <p class="p-karteikarte_verben" id="italienisch_suffix_1" />
</td> </td>
</tr> </tr>
@ -48,7 +48,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_2" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_2" />
<p class="p-karteikarte_verben" id="italienisch_verben_2" /> <p class="p-karteikarte_verben" id="italienisch_endung_2" />
<p class="p-karteikarte_verben" id="italienisch_suffix_2" /> <p class="p-karteikarte_verben" id="italienisch_suffix_2" />
</td> </td>
</tr> </tr>
@ -58,7 +58,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_3" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_3" />
<p class="p-karteikarte_verben" id="italienisch_verben_3" /> <p class="p-karteikarte_verben" id="italienisch_endung_3" />
<p class="p-karteikarte_verben" id="italienisch_suffix_3" /> <p class="p-karteikarte_verben" id="italienisch_suffix_3" />
</td> </td>
</tr> </tr>
@ -68,7 +68,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_4" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_4" />
<p class="p-karteikarte_verben" id="italienisch_verben_4" /> <p class="p-karteikarte_verben" id="italienisch_endung_4" />
<p class="p-karteikarte_verben" id="italienisch_suffix_4" /> <p class="p-karteikarte_verben" id="italienisch_suffix_4" />
</td> </td>
</tr> </tr>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_5" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_5" />
<p class="p-karteikarte_verben" id="italienisch_verben_5" /> <p class="p-karteikarte_verben" id="italienisch_endung_5" />
<p class="p-karteikarte_verben" id="italienisch_suffix_5" /> <p class="p-karteikarte_verben" id="italienisch_suffix_5" />
</td> </td>
</tr> </tr>
@ -88,7 +88,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_6" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_6" />
<p class="p-karteikarte_verben" id="italienisch_verben_6" /> <p class="p-karteikarte_verben" id="italienisch_endung_6" />
<p class="p-karteikarte_verben" id="italienisch_suffix_6" /> <p class="p-karteikarte_verben" id="italienisch_suffix_6" />
</td> </td>
</tr> </tr>
@ -98,7 +98,7 @@
</td> </td>
<td> <td>
<p class="p-karteikarte_verben" id="italienisch_wortstamm_7" /> <p class="p-karteikarte_verben" id="italienisch_wortstamm_7" />
<p class="p-karteikarte_verben" id="italienisch_verben_7" /> <p class="p-karteikarte_verben" id="italienisch_endung_7" />
<p class="p-karteikarte_verben" id="italienisch_suffix_7" /> <p class="p-karteikarte_verben" id="italienisch_suffix_7" />
</td> </td>
</tr> </tr>
@ -188,11 +188,11 @@
} else { } else {
// Grundform // Grundform
document.getElementById("italienisch_wortstamm_1").style.textDecoration = "underline"; document.getElementById("italienisch_wortstamm_1").style.textDecoration = "underline";
document.getElementById("italienisch_verben_1").style.textDecoration = "underline"; document.getElementById("italienisch_endung_1").style.textDecoration = "underline";
document.getElementById("italienisch_wortstamm_1").textContent = item.wortstamm_1; document.getElementById("italienisch_wortstamm_1").textContent = item.italienisch_1;
document.getElementById("italienisch_verben_1").textContent = item.italienisch_1; document.getElementById("italienisch_endung_1").textContent = item.endung_1;
document.getElementById("italienisch_verben_1").style.color = item.farbe_1; document.getElementById("italienisch_endung_1").style.color = item.farbe_1;
if(item.suffix_1 != null) { if(item.suffix_1 != null) {
document.getElementById("italienisch_suffix_1").textContent = " " + item.suffix_1; document.getElementById("italienisch_suffix_1").textContent = " " + item.suffix_1;
document.getElementById("italienisch_suffix_1").style.textDecoration = "underline"; document.getElementById("italienisch_suffix_1").style.textDecoration = "underline";
@ -202,44 +202,44 @@
// gebeugte Formen // gebeugte Formen
document.getElementById("italienisch_pronomen_2").textContent = item.pronomen_2; document.getElementById("italienisch_pronomen_2").textContent = item.pronomen_2;
document.getElementById("italienisch_wortstamm_2").textContent = item.wortstamm_2; document.getElementById("italienisch_wortstamm_2").textContent = item.italienisch_2;
document.getElementById("italienisch_verben_2").textContent = item.italienisch_2; document.getElementById("italienisch_endung_2").textContent = item.endung_2;
document.getElementById("italienisch_verben_2").style.color = item.farbe_2; document.getElementById("italienisch_endung_2").style.color = item.farbe_2;
if(item.suffix_2 != null) document.getElementById("italienisch_suffix_2").textContent = " " + item.suffix_2; if(item.suffix_2 != null) document.getElementById("italienisch_suffix_2").textContent = " " + item.suffix_2;
else document.getElementById("italienisch_suffix_2").textContent = null; else document.getElementById("italienisch_suffix_2").textContent = null;
document.getElementById("italienisch_pronomen_3").textContent = item.pronomen_3; document.getElementById("italienisch_pronomen_3").textContent = item.pronomen_3;
document.getElementById("italienisch_wortstamm_3").textContent = item.wortstamm_3; document.getElementById("italienisch_wortstamm_3").textContent = item.italienisch_3;
document.getElementById("italienisch_verben_3").textContent = item.italienisch_3; document.getElementById("italienisch_endung_3").textContent = item.endung_3;
document.getElementById("italienisch_verben_3").style.color = item.farbe_3; document.getElementById("italienisch_endung_3").style.color = item.farbe_3;
if(item.suffix_3 != null) document.getElementById("italienisch_suffix_3").textContent = " " + item.suffix_3; if(item.suffix_3 != null) document.getElementById("italienisch_suffix_3").textContent = " " + item.suffix_3;
else document.getElementById("italienisch_suffix_3").textContent = null; else document.getElementById("italienisch_suffix_3").textContent = null;
document.getElementById("italienisch_pronomen_4").textContent = item.pronomen_4; document.getElementById("italienisch_pronomen_4").textContent = item.pronomen_4;
document.getElementById("italienisch_wortstamm_4").textContent = item.wortstamm_4; document.getElementById("italienisch_wortstamm_4").textContent = item.italienisch_4;
document.getElementById("italienisch_verben_4").textContent = item.italienisch_4; document.getElementById("italienisch_endung_4").textContent = item.endung_4;
document.getElementById("italienisch_verben_4").style.color = item.farbe_4; document.getElementById("italienisch_endung_4").style.color = item.farbe_4;
if(item.suffix_4 != null) document.getElementById("italienisch_suffix_4").textContent = " " + item.suffix_4; if(item.suffix_4 != null) document.getElementById("italienisch_suffix_4").textContent = " " + item.suffix_4;
else document.getElementById("italienisch_suffix_4").textContent = null; else document.getElementById("italienisch_suffix_4").textContent = null;
document.getElementById("italienisch_pronomen_5").textContent = item.pronomen_5; document.getElementById("italienisch_pronomen_5").textContent = item.pronomen_5;
document.getElementById("italienisch_wortstamm_5").textContent = item.wortstamm_5; document.getElementById("italienisch_wortstamm_5").textContent = item.italienisch_5;
document.getElementById("italienisch_verben_5").textContent = item.italienisch_5; document.getElementById("italienisch_endung_5").textContent = item.endung_5;
document.getElementById("italienisch_verben_5").style.color = item.farbe_5; document.getElementById("italienisch_endung_5").style.color = item.farbe_5;
if(item.suffix_5 != null) document.getElementById("italienisch_suffix_5").textContent = " " + item.suffix_5; if(item.suffix_5 != null) document.getElementById("italienisch_suffix_5").textContent = " " + item.suffix_5;
else document.getElementById("italienisch_suffix_5").textContent = null; else document.getElementById("italienisch_suffix_5").textContent = null;
document.getElementById("italienisch_pronomen_6").textContent = item.pronomen_6; document.getElementById("italienisch_pronomen_6").textContent = item.pronomen_6;
document.getElementById("italienisch_wortstamm_6").textContent = item.wortstamm_6; document.getElementById("italienisch_wortstamm_6").textContent = item.italienisch_6;
document.getElementById("italienisch_verben_6").textContent = item.italienisch_6; document.getElementById("italienisch_endung_6").textContent = item.endung_6;
document.getElementById("italienisch_verben_6").style.color = item.farbe_6; document.getElementById("italienisch_endung_6").style.color = item.farbe_6;
if(item.suffix_6 != null) document.getElementById("italienisch_suffix_6").textContent = " " + item.suffix_6; if(item.suffix_6 != null) document.getElementById("italienisch_suffix_6").textContent = " " + item.suffix_6;
else document.getElementById("italienisch_suffix_6").textContent = null; else document.getElementById("italienisch_suffix_6").textContent = null;
document.getElementById("italienisch_pronomen_7").textContent = item.pronomen_7; document.getElementById("italienisch_pronomen_7").textContent = item.pronomen_7;
document.getElementById("italienisch_wortstamm_7").textContent = item.wortstamm_7; document.getElementById("italienisch_wortstamm_7").textContent = item.italienisch_7;
document.getElementById("italienisch_verben_7").textContent = item.italienisch_7; document.getElementById("italienisch_endung_7").textContent = item.endung_7;
document.getElementById("italienisch_verben_7").style.color = item.farbe_7; document.getElementById("italienisch_endung_7").style.color = item.farbe_7;
if(item.suffix_7 != null) document.getElementById("italienisch_suffix_7").textContent = " " + item.suffix_7; if(item.suffix_7 != null) document.getElementById("italienisch_suffix_7").textContent = " " + item.suffix_7;
else document.getElementById("italienisch_suffix_7").textContent = null; else document.getElementById("italienisch_suffix_7").textContent = null;