Hallo zusammen,
ich versuche mich gerade an Nested Sets und versuche Folgendes zu bewerkstelligen.
In der Datenbank liegt eine Tabelle mit der gesamten Navigationsstruktur. Die Datenbankstruktur mit den Daten gibts hier (
http://www.weingut-cuntz.de/db_struktur.jpg)
Ich möchte nun folgendes machen:
Unter dem Punkt Inhalte stehen zwei Unterpunkte: Seiteninhalte und Aktuelles. Darunter stehen wiederum zwei Unterpunkte, bei denen nur im Feld tasks etwas eingetragen ist.
Ich möchte nun nur die zwei tasks Unterpunkte ausgeben, wenn der User sich auf der übergeordneten Seite befindet.
Folgendes wäre mein Ansatz:
PHP-Code:
$sql = "SELECT
t1.*,
COUNT(*) AS ebene
FROM
admin_v3 AS t1,
admin_v3 AS t2
WHERE
t1.task != '' AND
t1.rgt BETWEEN t1.lft AND t2.rgt
GROUP BY
t2.lft
HAVING
t1.lft>" .$path[$ebene]['lft'] ." AND
t1.rgt<" .$path[$ebene]['rgt'] ." AND
ebene = $ebene+1
ORDER BY
t1.lft ASC";
--------------
Zur Erklärung:
--------------
$path[$ebene]['lft'] und $path[$ebene]['rgt'] sind die bezeichnen selbige Elemente der gerade aufgerufenen Seite, wären also im Beispiel Seiteninhalte 15 und 22.
$ebene ist die aktuelle Ebene der gerade aufgerufenen Seite. In diesem Fall müsste das, wenn ich mich nicht irre, 2 sein.
------------
Das Problem:
------------
Das Problem an der ganzen Geschichte ist nur, dass wenn ich den Code so verwende, nur ein Unterpunkt ausgelesen wird.
Letztendlich sollen dann also nur die zwei Unterpunkte vfdffv und Task ausgegeben werden - und das auf keiner übergeordneten Seite.
Hat jemand eine Ahnung wo mein Fehler liegt? Ich komm einfach nicht weiter...
Vielen Dank schonmal im voraus und noch ein schönes Wochenende
luckger