Frage

Ich bin auf der Suche nach einem PHP (mit MYSQL) verschachtelten Sätzen Klasse mit allen benötigten Funktionen. Zum Beispiel:

createLeftNode, createRightNode, createRootNode, createSubNode, deleteNode und MoveTree . Nicht nur 1 links, 1 rechts, 1 und 1 nach unten, sondern auch ein Teil eines Baumes in einem nother Baum.

Danke!

War es hilfreich?

Lösung

Nun verschachtelte Sätze sind groß, wenn Sie mit hierarchischen Daten arbeiten. Es ist viel komplexer, sie umzusetzen nur mit PHP Arrays vor allem, wenn Sie diese Informationen in einer Datenbank gespeichert werden sollen.

Sie könnten versuchen, diese auf. Nie benutzt es aber nach einem kurzen Code Screening es sieht fast abgeschlossen.

http://www.edutech.ch/contribution/nstrees/index.php

Andere Tipps

Blick auf die verschachteltes Verhalten die Lehre

Es ist etwas Neues um: http://www.sideralis.org/baobab/


Alte und veraltete Antwort. Die Bibliothek wird nicht mehr unterstützt.

Ich benutzte die nstrees Bibliothek "buggzzy" geschrieben ( http://www.edutech.ch/contribution/nstrees/index.php ) für ein Projekt, bei dem ich hatte dem Benutzer die Möglichkeit zu erstellen und bearbeiten, um die Organigramm seines Unternehmens zu geben.

Ich mag die „ Modifizierte Preorder-Baum-Traversal “ Algorithmus sehr viel, aber es scheint mir, dass die nstree Bibliothek langsam ist. In meinem Fall muss ich rekursiv den Baum durchlaufen. Vielleicht, das es ist etwas anderes in meinem Skript langsam ist.

Wie auch immer ich suche auch noch nach einer Alternative und ich überprüfte vor kurzem der PEAR-Website und einen Baum Bibliothek fand dort auch: http://pear.php.net/package/Tree

Die PEAR-Bibliothek nicht so umfassend wie NSTREE erscheinen, aber ich nehme an, es könnte mehr performant sein.

Ein Artikel, der mir sehr viel mit dieser Frage geholfen: Speichern von Hierarchical Data in a Datenbank

Sehen Sie in dieser Bibliothek https://github.com/fpietka/Zend-Nested-Set : Implementierung eines Nested Sets mit Zend Framework verwenden

Es war längst überfällig, aber ich aktualisiert https://github.com/fpietka/Zend- Nested-Set (auch mit Unit-Tests).

Ich schrieb eine verschachtelte Satz-Implementierung, die Lehre DBAL als Datenbank-Abstraktionsschicht verwendet. Weil wir es mit Drupal verwenden, verfolgt sie auch einen revision_id.

https://github.com/previousnext/nested-set

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top