php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.01.2006, 11:44  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard Nested Sets und Silbings

Kann mir jemand sagen wie man alle Siblings eines Knotens in einer Nested Set Struktur auslesen kann?
nightfreak ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.01.2006, 12:26  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielleicht bin ich einfach nur unwissend, aber was sind "Silbings"?
Links zu "nested sets":
http://ffm.junetz.de/members/reeg/DS...00000000000000
http://www.klempert.de/php/nested_sets/
imported_Ben ist offline   Mit Zitat antworten
Alt 06.01.2006, 12:29  
Gast
 
Beiträge: n/a
Standard

http://dict.leo.org/?search=sibling
Code:
     parent
     |    |
sibling1 sibling2
  Mit Zitat antworten
Alt 06.01.2006, 12:30  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah, konnte gerade sibling nicht mit silbing assoziieren.
imported_Ben ist offline   Mit Zitat antworten
Alt 06.01.2006, 12:59  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard

Die Links konnten mir leider nicht weiterhelfen, sonst niemand eine idee??
nightfreak ist offline   Mit Zitat antworten
Alt 06.01.2006, 13:10  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Der left-Wert des nächsten Sibling ist immer eins größer als der right-Wert des aktuellen Elementes, wenn ich mich jetzt nicht völlig vertue.
xabbuh ist offline   Mit Zitat antworten
Alt 06.01.2006, 13:25  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard

Ja soweit bin ich auch schon gekommen, allerdings bekomm ich keine Abfrage hin die mir alle Siblings ausgibt.
nightfreak ist offline   Mit Zitat antworten
Alt 06.01.2006, 13:31  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Eine Abfrage, mit der alle Geschwister eines Elements ermittelt werden können, fällt mir so auf die Schnelle nicht ein. Das müsstest du dann wohl so realisieren, dass du für das aktuelle Element das nächste Sibling ermittelst und dann diese Funktion nun für das ermittelte Sibling aufrufst (das Ganze dann dynamisch mittels einer Schleife).
xabbuh ist offline   Mit Zitat antworten
Alt 06.01.2006, 13:42  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard

Naja das ist nicht wirklich die Lösung die ich suche. Man müßte ja auch auf- und absteigend die Siblings ermitteln. Ein besserer Ansatz wäre dann wohl den Parent zu ermitteln und von dem ausgehen alle Kinder der ersten Ebene.
Da ich diese Funktionalität nur zum bearbeiten des Baums benötige ist der dabei entstehende Overhead zu verschmerzen.
nightfreak ist offline   Mit Zitat antworten
Alt 06.01.2006, 13:45  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Du kannst ja mit einer Abfrage alle Kindknoten ermitteln und das Level dazu:

Code:
SELECT s.Name, count(*) AS Level
    FROM NestedSet v, NestedSet s
    WHERE s.l BETWEEN v.l AND v.r
    GROUP BY s.l
Wenn du nun die Bedingung Level = 2 einfügst, hast du alle direkten Nachfahren. Fehlt nurnoch den Root-Knoten für die Abfrage zu setzen. Frag mich nicht, wie...

Basti
Basti ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nested Sets und viele Fragen... BartTheDevil89 Datenbanken 7 13.08.2008 10:18
nested set dbmodell subtrees verschieben raffnix Datenbanken 12 08.06.2008 13:27
Nested Sets oder Rekursion? litterauspirna PHP Tipps 2008 8 06.06.2008 16:57
Nested Sets in ein Mehrdimensionales Array Simon9990 PHP-Fortgeschrittene 2 29.10.2007 17:38
Nested Sets Query GSJLink Datenbanken 12 08.09.2007 10:55
menü, nested set oder ähnliches? Promaetheus PHP Tipps 2007 13 15.02.2007 22:37
SQL Warnung: 4 result set(s) not freed. daki Datenbanken 10 28.03.2006 17:00
Nested Sets History Sirke PHP-Fortgeschrittene 1 21.10.2005 08:50
erklärung gesucht: nested set query! Sirke Datenbanken 0 19.09.2005 17:24
Alternative zu Nested Sets fantast Datenbanken 1 16.08.2005 01:14
hilfe nested sets zapate Datenbanken 6 02.08.2005 02:58
nested set hilfe zapate PHP Tipps 2005-2 1 01.08.2005 00:42
Nested Sets mit Berechtigungen? daniel987 Datenbanken 3 07.06.2005 22:18
[Erledigt] Frage zu nested sets... PHP-Fortgeschrittene 2 04.03.2005 09:57
NESTED SETS dieses Thema sollte abgehakt werden PHP Tipps 2004 0 12.10.2004 18:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nested sets siblings, nested set anzahl kinder, nested set direkte kinder, nested set siblings, nested set get siblings, nested set geschwister, nested set sibling, nested set level, nested sets geschwister, nested sets direkte kindknoten, nested sets parent ermitteln, netsted set siblings, nested set alle kinder, nested set to array, nested sets kinder, nested set nur direkte kinder, nested set level feststellen, nested sets direkte nachfahren, finding siblings nested sets, nested set knoten nächster ebene ermitteln

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.