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

124
data.php
View File

@ -1,73 +1,65 @@
<?php <?php
require_once __DIR__ . '/includes/db_connect.php'; require_once __DIR__ . '/includes/db_connect.php';
header('Content-Type: application/json'); header('Content-Type: application/json');
/*$stmt = $pdo->query("SELECT kk.id,
vorderseite,
rueckseite,
farbe,
name
FROM karteikarte kk
JOIN kategorie k ON k.id = kk.kategorie_id;");*/
$stmt = $pdo->query("WITH zeile AS (
$stmt = $pdo->query("WITH zeile AS (SELECT d.id, SELECT d.id,
d.wort, d.wort,
k.name, k.name,
i.wort AS italienisch, i.wort AS italienisch,
COALESCE(f.farbe, 'black') AS farbe, COALESCE(f.farbe, 'black') AS farbe,
p.pronomen, p.pronomen,
i.wortstamm, i.endung,
i.suffix, i.suffix,
ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.personalpronomen_id NULLS FIRST, i.id) AS rn ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.personalpronomen_id NULLS FIRST, i.id) AS rn
FROM deutsch d FROM deutsch d
JOIN italienisch i ON i.deutsch_id = d.id JOIN italienisch i ON i.deutsch_id = d.id
LEFT OUTER JOIN personalpronomen p ON p.id = i.personalpronomen_id LEFT OUTER JOIN personalpronomen p ON p.id = i.personalpronomen_id
LEFT OUTER JOIN farbe f ON f.id = i.farbe_id LEFT OUTER JOIN farbe f ON f.id = i.farbe_id
JOIN kategorie k ON k.id = d.kategorie_id JOIN kategorie k ON k.id = d.kategorie_id
) )
SELECT id, SELECT id,
wort AS deutsch, wort AS deutsch,
name AS wortart, name AS wortart,
MAX(CASE WHEN rn = 1 THEN italienisch END) AS italienisch_1, 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 farbe END) AS farbe_1,
MAX(CASE WHEN rn = 1 THEN pronomen END) AS pronomen_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 endung END) AS endung_1,
MAX(CASE WHEN rn = 1 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_2,
MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_2,
MAX(CASE WHEN rn = 2 THEN wortstamm END) AS wortstamm_2, MAX(CASE WHEN rn = 2 THEN endung END) AS endung_2,
MAX(CASE WHEN rn = 2 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_3,
MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_3,
MAX(CASE WHEN rn = 3 THEN wortstamm END) AS wortstamm_3, MAX(CASE WHEN rn = 3 THEN endung END) AS endung_3,
MAX(CASE WHEN rn = 3 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_4,
MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_4,
MAX(CASE WHEN rn = 4 THEN wortstamm END) AS wortstamm_4, MAX(CASE WHEN rn = 4 THEN endung END) AS endung_4,
MAX(CASE WHEN rn = 4 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_5,
MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_5,
MAX(CASE WHEN rn = 5 THEN wortstamm END) AS wortstamm_5, MAX(CASE WHEN rn = 5 THEN endung END) AS endung_5,
MAX(CASE WHEN rn = 5 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_6,
MAX(CASE WHEN rn = 6 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_6,
MAX(CASE WHEN rn = 6 THEN wortstamm END) AS wortstamm_6, MAX(CASE WHEN rn = 6 THEN endung END) AS endung_6,
MAX(CASE WHEN rn = 6 THEN suffix END) AS suffix_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 italienisch END) AS italienisch_7,
MAX(CASE WHEN rn = 7 THEN farbe END) AS farbe_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 pronomen END) AS pronomen_7,
MAX(CASE WHEN rn = 7 THEN wortstamm END) AS wortstamm_7, MAX(CASE WHEN rn = 7 THEN endung END) AS endung_7,
MAX(CASE WHEN rn = 7 THEN suffix END) AS suffix_7 MAX(CASE WHEN rn = 7 THEN suffix END) AS suffix_7
FROM zeile FROM zeile
GROUP BY id, wort, name GROUP BY id, wort, name
ORDER BY id;"); 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;