 |
Willkommen im TP Hilfe Forum unter Traum-Projekt.com
Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen und Fragen stellen, privat mit anderen TPlern kommunizieren, an Umfragen teilnehmen und gratis Fotos runterladen. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Wir würden uns freuen, Dich in einer der freundlichsten Communitys als Mitglied begrüßen zu dürfen. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support Team.
Viel Spaß bei Traum-Projekt.com
|
26.09.2005, 09:33
|
#46
|
|
TP-Senior
Registriert seit: Jun 2005
Ort: Köln
|
Zitat:
|
Zitat von tommes1971
Meinst du mit Vater_ID, die Ebene in der Hirachie des Baumes? Also quasi die Zahlen die bei meinem letzten Thread in dem Bild ganz links in Klammern zu sehen sind?
|
Hi Tommes,
genau die meine ich. Ich habs aber so gelöst, dass beim Anlegen eines neuen Knotens automatisch die (neue) Spalte dad_id mit dem entsprechenden Wert gefüllt wird. Dieser wird dann bei bedarf einfach abgefragt.
Zitat:
|
Zitat von tommes1971
Warum das $row[7] ist, weiß ich jedoch nicht, vor allem dürfte es doch normalerweise bei einer Tabelle mit 6 Spalten kein $row[7] geben 
|
Ich habs zwar nicht ausprobiert, aber das scheint mir auch seeeehr seltsam. Aber solange es gut funktioniert, frage ich nicht nach.
Zitat:
|
Zitat von tommes1971
Ich denke, das da irgendwo noch ein Fehler ist, denn die root_ID ist bei mir nicht mehr so wie am Anfang.
|
Wie genau äußert sich das? Die Root-IDs dürften sich eigentlich nicht ändern. Dazu gibts ja die Spalte root_seq. Diese regelt ja die Reihenfolge. Die Root-IDs müßten unberührt bleiben. Gib mal ein Beispiel bei welchem Fall sich der Wert wie ändert.
Viele Grüße
Mat81
__________________
The difference between theory and practice is
that in theory there is no
difference between theory and practice
but in practice there is
|
|
|
15.10.2005, 21:03
|
#47
|
|
TP-Newbie
Registriert seit: Oct 2005
|
Vaterschaftstest: Die "VaterId" lässt sich recht einfach mit einer einzigen Abfrage ermitteln:
Code:
+-----------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+-------------------+----------------+
| NodeId | int(11) | | PRI | NULL | auto_increment |
| NodeName | varchar(100) | YES | MUL | NULL | |
| NodeRootId | int(11) | | MUL | 0 | |
| NodeRight | int(11) | | MUL | 0 | |
| NodeLeft | int(11) | | MUL | 0 | |
+-----------------+--------------+------+-----+-------------------+----------------+
Code:
SELECT Node1.NodeName, Node1.NodeId, COUNT(Node1.NodeId) AS Level,
Node3.NodeId AS ParentId,
Node1.NodeLeft as NodeLeft, Node1.NodeRight AS NodeRight,
FLOOR( ( Node1.NodeRight - Node1.NodeLeft ) / 2 ) AS Children
FROM Node AS Node1, Node AS Node2
LEFT OUTER JOIN Node AS Node3
ON Node3.NodeLeft IN (SELECT MAX( NodeLeft ) FROM Node WHERE NodeLeft < Node1.NodeLeft AND NodeRight > Node1.NodeRight )
AND Node3.NodeRootId = 1
WHERE Node1.NodeRootId = 1
AND Node2.NodeRootId = 1
AND Node1.NodeLeft BETWEEN Node2.NodeLeft AND Node2.NodeRight
GROUP BY Node1.NodeLeft;
mfg Herwig
Geändert von PlutoPlanet (15.10.2005 um 21:05 Uhr).
|
|
|
17.10.2005, 19:55
|
#48
|
|
TP-Member
Registriert seit: Jun 2005
|
Hallo!
Erst mal will ich mich für diese Tut bedanken, mir erschein dieses Thema als sehr sinnvoll!
Allerdings befinde ich mich noch sehr am Anfang und bin noch lange nicht durchgestiegen...
Mir sind jedoch ein paar Fehler aufgefallen, die folgenden Codebeispiele funktionieren bei mir nicht:
Code:
SELECT node1.payload,
floor((node1.rgt – node1.lft) / 2) AS children
COUNT(*) AS level
FROM node AS node1,
node AS node2
WHERE node1.root_id = 1
AND node2.root_id = 1
AND node1.lft BETWEEN node2.lft AND node2.rgt
GROUP BY node1.lft;
Code:
SELECT @node_id := root_id, @lft := lft
FROM node
WHERE node_id = NODE_ID;
UPDATE node
SET lft = lft + 2
WHERE root_id = @node_id AND lft > @lft;
UPDATE node
SET rgt = rgt + 2
WHERE root_id = @root_id AND rgt > @lft";
INSERT INTO node (root_id, payload, lft, rgt)
VALUES (@root_id, 'my left little brother' @lft, @lft + 1);
Beim zweiten Code-Posting stimmen, glaube ich, die Anführungzeichen in der dritt letzten Zeile nicht und es fehlt ein Komma in der letzten Zeile vor '@lft'... Aber dann memmt er immer noch rum weil root_id nie null sein darf..
Naja, ich guck mal weider
/edit:
Außerdem verstehen ich nicht warum, beispielsweise bei folgendem Codebeispiel (welchse problemlos funktioniert!), node immer noch zusätlich als node1 bzw. node2 geschrieben wird:
Code:
SELECT node1.payload, node1.node_id,
COUNT(*) AS level
FROM node AS node1,
node AS node2
WHERE node1.root_id = 1
AND node2.root_id = 1
AND node1.lft BETWEEN node2.lft AND node2.rgt
GROUP BY node1.lft
Dieses Beispiel ist doch gleichbedeutend mit:
Code:
SELECT node.payload, node.node_id, COUNT( * ) AS
LEVEL
FROM node
WHERE node.root_id =1
AND node.root_id =1
AND node.lft
BETWEEN node.lft
AND node.rgt
GROUP BY node.lft
LIMIT 0 , 30
Wie gesagt, so maches geht mir noch nicht so rein...
regards,
fred
Geändert von freddymc (18.10.2005 um 18:37 Uhr).
|
|
|
04.11.2005, 10:11
|
#49
|
|
TP-Newbie
Registriert seit: Feb 2005
Ort: NRW
|
Hallo zusammen.
Das ist alles ganz toll, was ihr hier macht, aber mittlerweile gibt es soviele Updates/neue Ansätze, dass ich ziemlich verwirrt bin.
Hat jemand mal ein aktuelles Archiv, in dem alle Neuerungen drin sind, damit ich (und vielleicht auch andere) mir nicht alles einzeln zusammensuchen muss?
Ich hatte ja gehofft, dass das Archiv von theo http://www.quedlinburg-server.de/are...nestedSets.rar mal geupdatet wird, aber es bleibt wohl aus zeitlichen Gründen bei dieser Version?!?
Aber soweit ich das nun mitbekommen habe, bauen darauf die Neuerungungen auf und es wird vielleicht den ein oder anderen geben, der seine Programmierkünste unter's unwürdige Volk bringen möchte!?
MfG
|
|
|
19.10.2006, 12:24
|
#50
|
|
TP-Newbie
Registriert seit: Oct 2006
|
Hallo!
Erstmal vielen Dank für das tolle und eigentlich auch verständlich geschriebene Tutorial.
Stehe trotzdem noch ein wenig aufm Schlauch und hätte da mal eine wahrscheinlich bescheuerte Frage:
Ich erstelle grade ein FAQ-System für das ich gerne das Nested-Set-Modell verwenden möchte...
Sollte man die einzelnen Fragen innerhalb einer Kategorie in eine eigene Tabelle verfrachten, d.h. die Tabelle "nodes" nur zur Definition der Kategorien verwenden? Oder gehört alles in die Tabelle "nodes"?
Mein Gedankengang:
Tabelle "nodes"
node_id | root_id | payload | lft | rgt
Tabelle "faqs"
faq_id | node_id | titel | text
Oder steht das dem Prinzip komplett entgegen?
Ich danke für jede Hilfe, die mir auf die Sprünge hilft!
Gruß
Alex
|
|
|
26.07.2007, 14:39
|
#51
|
|
TP-Supporter
Registriert seit: Aug 2003
Ort: Bochum
|
Vielen Dank für diesen großartigen Workshop! Die Vorgehensweise hier war sogar besser als alle, die ich sonst im Netz gefunden hatte. Hat mir so einige Arbeitsstunden erspart, wenn nicht sogar Arbeitstage! 
|
|
|
23.09.2007, 18:28
|
#52
|
|
TP-Newbie
Registriert seit: Sep 2007
|
super tutorium!
aber, wo gibts denn die Quelldateien? Alle Pfade verlaufen sich im Sande...
Und, ich hätte mal ne Frage: Was muss ich denn machen, dass ich ein Element eine Ebene hinauf, bzw. hinunter schieben kann? Da steig ich noch nicht wirklich durch...
Danke!
|
|
|
23.09.2007, 18:37
|
#53
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
also erstmal schnell zu den dateien: die lagen auf einem unserer alten server. leider mussten wir den aus sicherheitsgruenden letzte woche vom netz nehmen. die dazugehoerige url brauchten wir auch nicht mehr, weshalb sie auch in zukunft wegfallen wird.
ich lasse die daten gerade sichern und stelle sie dann ab anfang der woche auf meinem webspace wieder neu zur verfuegung (dann schick ich dir eine pn tonisch).
was die zweite frage angeht, so eruebrigt sich die vielleicht dann, wenn du die daten siehst und mit ihnen "spielen" kannst.
gruss,
hardy
|
|
|
02.10.2007, 10:34
|
#54
|
|
TP-Newbie
Registriert seit: Oct 2007
|
Absolut geniales Tut!
Hat mir wirklich sehr geholfen bei der Arbeit mit Nested Sets
Schade das die Dateien noch nicht da sind  :-P
|
|
|
02.10.2007, 11:08
|
#55
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
ok ... nochmals danke fuer die blumen!
ich hab ein kleines problem: boese boese menschen haben unseren server gehacked und das gesamte verzeichnis geloescht, in dem auch die daten der nested sets lagen. leider haben schuster immer die schlechtesten schuhe und it-futzis die unvollstaendigsten datensicherungen (wie auch steve jobs schon erkannt hat ... vielleicht sollte ich wirklich langsam auf seine produkte umsteigen). darum ist auch meine lokale sicherung einem bloeden zufall zum opfer gefallen. darum also jetzt eine bitte an euch:
sollte jemand von euch noch die daten haben ... bitte melde dich!
wider alle erwartungen scheinen doch eine ganze reihe leute noch an diesem workshop interessiert zu sein. ein guter grund vielleicht, um das ganze noch mal um eine stufe zu erweitern: ajax. mal sehen ...
gruss,
hardy
|
|
|
02.10.2007, 11:48
|
#56
|
|
TP-Newbie
Registriert seit: Oct 2007
|
Jetz wirds interessant
Meine Erfahrungen in Ajax sind noch etwas klein... Aber wir verwenden es mittlerweile in einigen Projekten. Insofern wäre es sicher interessant, da das Thema sowieso sehr im kommen ist.
|
|
|
02.10.2007, 13:22
|
#57
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von theo
sollte jemand von euch noch die daten haben ... bitte melde dich!
|
Keine Ahnung ob die Datei im Anhang das ist was Du suchst, aber es lag auf meiner Backup-Platte unter dem Namen "Traum-Projekt_Nested_Sets.zip", von daher besteht immerhin die Chance 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
03.10.2007, 14:49
|
#58
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
hi rizzo,
ich bin so hingerissen, dass ich ich nur noch mr. burns zitieren kann: "ausgezeichnet!"
ich werde sie wohlverwahrt sichern und den gesamten workshop demnaechst auch wieder zur verfuegung stellen. die grafiken hab ich auch schon fast wieder beisammen. dann muesste nur noch ein mod die pfade in den ersten postings aendern und alles ist wieder im lot.
danke fuer die hilfe,
hardy
|
|
|
03.10.2007, 14:56
|
#59
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hi Hardy,
tja, hier kommt nix weg 
Dann hau mal rein mit den Grafiken, damit die Jungs hier wieder fleißig lernen können.
Kannst Du den Beitrag nicht selbst bearbeiten? Sollte doch eigentlich gehen, da die Edit-Funktion für alle wieder freigeschaltet wurde. Naja, falls nicht dann schickst Du eben einem Mod aus diesem Bereich hier 'ne PM mit den neuen Links, ist ja auch kein Problem. 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
19.12.2007, 13:33
|
#60
|
|
TP-Newbie
Registriert seit: Dec 2007
|
hmm wie siehts denn aus mit einem Update vom Stand der Dinge ?
Bin nebenbei auch mit nested sets beschäftigt und habe auch schon sehr schöne Hilfen hier aus dem Thread catchen können nur leider gibt es hier so wie es aussieht einen kleinen gedanken stop ... :/
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
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 anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:58 Uhr.
|
 |