Mailinglisten-Archive |
> geht auch. weniger flexibel. wenn ich das jetzt richtig sehe, gibt es > dann aber > fuer jeden knoten nur einen admin, einen owner, einen editor ? nein, da ich die gruppenzugehörigkeit frei vergeben kann, gibt es beliebig viele. Ich habe z.B. die oben genannten Gruppen, und x Benutzer, von denen jeder jeder Gruppe angehören kann (theoretisch, praktisch machts keinen sinn). In jedem Knoten kann ich jetzt festlegen, was Mitglieder der einzelnen Gruppen machen dürfen. Jeder Benutzer darf aber nur unterhalb seiner Parent-id mit den Gruppenrechten agieren, ansonsten ist er anonym. > kennst du eine variante, baumstrukturen mit vererbung effizient in sql > unterzubringen ? leider nein > > es waere ja schon viel geholfen, eine query zu haben, die den > gewuenschten > knoten mit allen seinen parents bis zur wurzel aufzulisten. > > mir schwebt da was mit functions oder rules ein, mit denen man > vielleicht die noetige rekursion produzieren kann ... sag mir bescheid, sobald du was hast, würde mich auch interressieren > > weil man dann beim anlegen einer neuen untergruppe allen übergeordneten > > benutzern mit schreibrechten(o.ä.) die gruppenzugehörigkeit > geben müsste: > > übergeordnete seiten suchen, gruppen daraus extrahieren, benutzer mit > > schreibrechten finden und der gruppe zufügen.... > vererbung ? die vererbung braucht bei baumstrukturen immer so viel ressourcen :-( > > ich mache ein select, sortiert nach der parent-id, in der > > while-schleife erledige ich gleich die vererbung, > > und weise jeden ergebnis-array gleich noch einem id-sortierten > > array zu. > hat das problem, dass du bei sehr grossen baeumen entweder den ganzen > baum laden musst oder fuer jede ebene eine query brauchst. stimmt, da wäre eine sql-tree-funktion bei der man die tiefe angeben kann perfekt! Ich hoffe einfach mal, dass ich mit den Seitenzahlen nie an die kritische Grenze komme, denn eine bessere Lösung weiss ich leider nicht. > > geht schön schnell, funktioniert aber nur, wenn die parent-id immer > > kleiner als die id ist. > das ist mist. funktioniert naemlich nur dann, wenn man die ids > seriell zuordnet ... sollte kein problem sein, da die auto-increment-werte immer erhöht werden. beim verschieben eines Eintrags muss ich im Notfall (falls neue pid > id) den gesamten eintrag löschen und mit neuer id wiederherstellen. Ich habe lange nach Lösungen für die Baumstrukturen gesucht. Ideal wäre es, ganz in xml zu arbeiten und xpath zur auswahl zu verwenden, aber da ist php meiner Meinung nach noch nicht weit genug. XPATH zum Adressieren von DOM ;-) Gruß Björn -- -------------------------------------------- Dipl. Ing. Björn Schimpf visual4 bjoern_schimpf_(at)_visual4.de
php::bar PHP Wiki - Listenarchive