Kanalpirat: Probleme mit JOIN über mehrere Tabellen (mySQL)

Beitrag lesen

Dann ist mir irgendwie noch nicht so ganz klar, wer wann was warum sehen darf und was nicht. Versuche bitte, das *OHNE* irgendwelchen SQL-Code fachlich zu erklären ...

Ausgangspunkt ist die Menüstruktur, die aus der Tabelle kategorie dynamisch erzeugt wird. Beispiel:

Aktuelles
  Wichtiges
  Internes
Tiere
  Vögel
  Bären
Pflanzen
  Blumen

Der Menüpunkte Internes soll aber nur sichtbar sein, wenn man sich angemeldet hat. Für Internes existiert also ein Eintrag in rel_kat_grp so wie es eine dazugehörige Gruppe gibt, in der alle Benutzer aufgeführt sind, die diesen Menüpunkt sehen dürfen. (Es gibt im Endausbau etwa 150 Benutzer und 30 Gruppen)

Für benutzer.ID = 0 (keine Anmeldung) brauche ich also alle kategorie-Einträge, für die es *keinen* Eintrag in rel_kat_grp gibt, für alle anderen Fälle zusätzlich die Kategorien, die von den Gruppen, zu denen der Benutzer gehört, gesehen werden dürfen.

Das bedeutet (vermutlich) nur, dass die Abfrage fehlerhaft war und deshalb mittels mysql_fetch_assoc() nicht auf irgendeine Ergebnismenge zugegriffen werden kann. [...]

Alles klar, den Fehler habe ich ausgemerzt. Die Variable war NULL, wenn sich niemand angemeldet hatte. Jetzt ist sie 0. :-)