Sempervivum
Erfahrenes Mitglied
Liebe PHP/mysql-Experten,
ich bin gerade dabei, mich mit diesem Thema etwas besser vertraut zu machen und habe dabei diese Aufgabe:
Ich habe zwei Tabellen, die ich mit einem einfachen Join verknüpfen möchte:
tenses

tensecategory

Diese lese ich folgender Maßen aus:
Dies funktioniert soweit einwandfrei und liefert dieses Ergebnis:
Soweit so gut. Die Frage, die ich mir stelle, ist, ob man dieses Ergebnis auch mit SQL erreichen kann, ohne die Nachverarbeitung mit PHP. Ich erinnere mich an eine andere Aufgabe, wo es um COUNT und GROUP BY ging, da war es möglich, ein zweidimensionales Array zu erhalten. Versuche ich es bei dieser Aufgabe mit Gruppierung erziele ich jedoch nicht das gewünschte Ergebnis.
Beste Grüße - Ulrich
ich bin gerade dabei, mich mit diesem Thema etwas besser vertraut zu machen und habe dabei diese Aufgabe:
Ich habe zwei Tabellen, die ich mit einem einfachen Join verknüpfen möchte:
tenses

tensecategory

Diese lese ich folgender Maßen aus:
Code:
$sql = "SELECT t.name, c.catid, c.catname FROM tenses t, tensecategory c WHERE t.catid=c.catid";
$result = $pdo->query($sql);
$tenseinfo = [];
foreach ($result as $row) {
if (!isset($tenseinfo[$row['catid']])) {
$tenseinfo[$row['catid']] = ['catname' => $row['catname'], 'tenses' => [$row['name']]];
} else {
$tenseinfo[$row['catid']]['tenses'][] = $row['name'];
}
}
var_dump($tenseinfo);
Code:
array (size=2)
2 =>
array (size=2)
'catname' => string 'Indicative' (length=10)
'tenses' =>
array (size=3)
0 => string 'Present Tense' (length=13)
1 => string 'Present Perfect' (length=15)
2 => string 'Imperfect' (length=9)
17 =>
array (size=2)
'catname' => string 'Subjunctive' (length=11)
'tenses' =>
array (size=3)
0 => string 'Preterite' (length=9)
1 => string 'Past Perfect' (length=12)
2 => string 'Subjunctive' (length=11)
Beste Grüße - Ulrich