Datenbank Join mit TYPO3 (Datenbankrelationen)
7. März 2007
Wird eine neue Extension geschrieben gibt es oft das Probelm das Datenbankrelationen ausgegeben werden sollen.
D.h. um bei Kaspers Beispiel zu bleiben: Ich habe eine CD und möchte die Kategorie zu der CD ausgeben, welche in einen anderen Tabelle steht.
Gibt mensch die Kategorie aus, fällt einem auf, das nun die UID und nicht der Kategoriename ausgegeben wird.
Um nun aber doch den Namen der Kategorie auszugeben wird ein JOIN benötigt, welcher beide Tabellen nach bestimmten Kriterien zusammenfügt:
$queryParts[’SELECT’] = ‘a.*’;
$queryParts[’FROM’] = ‘tabelle1 a, tabelle2 b’;
$queryParts[’WHERE’] =”
a.kategorie=b.uid //JOIN
AND a.disable = ‘0′ AND a.deleted = ‘0′”; //Zusatzkriterien
$res = $GLOBALS[’TYPO3_DB’]->exec_SELECTquery( $queryParts[’SELECT’], $queryParts[’FROM’], $queryParts[’WHERE’], “”, “$sorting $order”, “$startAt, $resultlimit”);
Zur Veranschaulichung:
Spalte “Kategorie” in Tabelle ist ein Verweis auf die “UID” in Tabelle2 welche den Namen “Alternativ” hat
| Tabelle1 | |||
| name | band | kategorie | uid |
| Homogenic | Björk | 1 | 1 |
| … | … | … | … |
| Tabelle2 | |
| name | uid |
| Alternativ | 1 |
| … | … |






