| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator und Wett-König | Hallo Alex, derartige Geschichten musst du mit Sessions lösen. In der Session werden immer die bereits geöffneten Zweige (IDs) gehalten und bei einer Öffnen- oder Schließen-Aktion muss immer nur die Art der Aktion und der gerade geklickte Knoten übergeben werden. Zuklappen ist einfach ein Löschen einer ID aus dem Array, Öffnen das hinzufügen. In der rekursiven Abfrage des Baumes musst du dann einfach die IDs der Session abfragen und so den Baum zusammenbauen. Solltest du ein Beispiel benötigen, kann ich dir mal ein Implementierungsbeispiel schicken.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |
| Moderator und Wett-König | Hallo Alex, ich habe dir unter http://www.adventure-php-framework.o...umstruktur.zip ein Beispiel abgelegt, wie so etwas funktionieren kann. Das Beispiel gibt eine Ordnerstruktur aus, wie es im Windows Explorer der Fall ist, mit dem Unterschied, dass auch Datei-Knoten im Baum angezeigt werden. Die eigentliche Arbeit wird in der Business-Schicht getan. Hier wird zunächst die Methode "ladePfadeInSession()" des "BaumManager" aufgerufen. Diese "merkt" sich die geöffneten Knoten in der Session oder bearbeitet die Session wie oben beschrieben. Mit der Methode "ladeBaum()" kann man einen Objekt-Baum laden, der mit Hilfe der Datenschicht-Komponente aus der Datenbank gelesen wird. Die eigentliche Rekursion wird mit Hilfe der Methode "ladeKnoten()" erledigt, die den Baum mit Hilfe des Objektes "BaumKnoten" aufbaut. Die Beziehung basiert dabei auf einer ParentID-Beziehung. Die Implementierung ist leider schon etwas älter, deswegen ist die Dokumentation nicht so optimal, aber ich bin sicher du kannst dir Ideen herausziehen. Die Session-Klasse ist die des Frameworks in meinem Footer, ein Beispiel für die Anwendung geht wie folgt: PHP-Code: Die Tabelle dahinter ist recht banal: Code: CREATE TABLE kulturtechnik ( Name varchar(60) NOT NULL default '', VaterID int(5) NOT NULL default '0', Typ varchar(4) NOT NULL default '', Link varchar(100) NOT NULL default '', Datum date NOT NULL default '0000-00-00', Uhrzeit time NOT NULL default '00:00:00', PTIndex int(5) NOT NULL auto_increment, PRIMARY KEY (PTIndex), KEY Typ (Typ), KEY Name (Name), KEY VaterID (VaterID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Rekursion zur Ausgabe von Kategorien und Unterkategorien | goofreezer | PHP Tipps 2008 | 19 | 20.06.2008 10:43 |
| Nested Sets oder Rekursion? | litterauspirna | PHP Tipps 2008 | 8 | 06.06.2008 16:57 |
| Türme von Hanoi - Rekursion | Erecthoma2006 | PHP Tipps 2006 | 7 | 07.06.2006 18:54 |
| rekursion in php | netdirk | PHP Tipps 2006 | 10 | 13.05.2006 12:08 |
| Wie nennt man so etwas? Rekursion bei Klassen? | Andreas | PHP Tipps 2007 | 3 | 16.11.2005 12:50 |
| Gesucht wird ein PHP Programmierer/in und Freund! | Beitragsarchiv | 17 | 17.09.2005 17:54 | |
| Rekursion als sql | DerDesian | Datenbanken | 1 | 20.04.2005 11:59 |
| Klassen Frage!!! | PHP-Fortgeschrittene | 20 | 04.03.2005 22:24 | |
| [Erledigt] Partitionen | Off-Topic Diskussionen | 9 | 02.08.2004 14:57 | |
| Rekursion | PHP Tipps 2004 | 2 | 15.06.2004 11:31 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| baumstruktur parend_id php, mkstring php, sql string rekursiv, rekursionsgleichung lösen einfach |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.