Hallo Malcolm,
gewünschtes Ergebnis, z.B:
Gruppeqw
weil, <es folgt Deine Begründung>Ich frage über
$_SERVER['REQUEST_URI']
den Aktuellen URI ab, diesen Vergleiche ich dann mit der 'Link' Tabelle in meiner DB.
sorry, der Teil ist völlig irrelevant. Wir lassen PHP einfach außen vor.
Ich habe Dein Ausgangsposting nochmals intensiv durchgelesen. Soweit ich Dich verstanden habe, möchtest Du alle Links und alle Titel haben, die in der gleichen Gruppe sind wie der übergebene Link?
Ausgangstabelle:
Gruppe | Link | Titel
-----------------------------------
qw | /home.html | Startseite
qw | /link.html | Links
qw | /sonst.html | Sonstiges
Link: /home.html
gewünschtes Ergebnis:
| Link | Titel
---------------------------
| /home.html | Startseite
| /link.html | Links
| /sonst.html | Sonstiges
weil diese sich in der gleichen Gruppe befinden wie /home.html, das sich in der Gruppe qw befindet. Ist das so?
Mir fallen spontan zwei Wege ein, die dahin führen, das eine wäre ein Selfjoin, das andere ein Subselect, wobei ich davon ausgehe, das die Werte in der Spalte link eindeutig sind:
1. Lösung mit Selfjoin:
Wir benötigen
die Links und
die Titel
aus der
Tabelle
die sich in der gleichen Gruppe
befinden wie der Link /home.html
SELECT
t1.link,
t1.titel
FROM
tabelle t1
INNER JOIN
tabelle t2
ON
t1.Gruppe = t2.Gruppe
WHERE
t2.link = '/home.html' -- Beachte, dass die Einschränkung in der
-- anderen Tabelle gemacht wird als der, aus
-- der Du Deine Ergebnisdaten nimmst.
2. Subselect
SELECT -- Gib mir
t1.Link, -- Link und
t1.Titel -- Titel
FROM -- aus meiner
tabelle -- Tabelle
WHERE -- wobei die
t1.Gruppe IN ( -- Gruppe in der Liste der
SELECT
t2.Gruppe -- Gruppen sein muss,
FROM
tabelle t2
WHERE
t2.Link = '/home.html' -- in der sich der angegebene Link
-- befindet
)
Prinzipiell täte es im zweiten Fall statt dem Operator IN auch ein
Gleichheitszeichen, wenn sich ein Link nur in einer Gruppe befinden kann.
Freundliche Grüße
Vinzenz