php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.09.2004, 13:29  
Gast
 
Beiträge: n/a
Standard Hierarchiches Menu bauen ?

Hallo Profis,
ich habe ein Menu Baum programmiert der wiefolgt aussieht.


Nun möchte ich dieses in einem folgender Art umstellen, da das andere Menu auf Dauer nicht gut ist. Es ist sehr langsam vor allem bei dem Menu was ich verfolge zu machen.




- Beschreibung:
Ich möchte eine Funktion schreiben die mein normales Tree-Menu mit ParentID in der Art des 2 schreibt. Dazu nutze ich PHP & MySQL.
Meine Versuche sind bis jetzt vergeblich.

Ich habe dazu auch ein gutes Tutorial gefunden, was mich aber nicht so recht weiter bringt.

http://www.sitepoint.com/article/hie...-data-database
Link zum Tutorial um es ein wenig besser zu gestalten und damit man mich versteht.

Könnt ihr mir Helfen mit Links oder Code Beispielen.

Es müsste ja so sein, dass er sich den letzen Eintrag im Baum nimmt und dann jeweils die Parents abgeht.

Falls Rückfragen sind stehe ich gerne zur Verfügung.
Ich weiss das es vielleicht ein wenig schlecht beschrieben ist.

SORRY dafür.

MFG emu
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.09.2004, 14:08  
Erfahrener Benutzer
 
Registriert seit: 10.09.2004
Beiträge: 339
mkl0815
Standard

hallo,

das hört sich verdammt nach nested sets an. ich habe damit noch nicht viel gemacht, aber mal einen artikel darüber gelesen.

schau dir mal das folgende pear-package an. evtl. hilft dir das weiter.

http://pear.php.net/package/DB_NestedSet

mario
__________________
Problems with Windows : REBOOT
Problems with Linux : BE ROOT
mkl0815 ist offline   Mit Zitat antworten
Alt 20.09.2004, 14:10  
Erfahrener Benutzer
 
Registriert seit: 10.09.2004
Beiträge: 339
mkl0815
Standard

... und noch ein link:

http://ffm.junetz.de/members/reeg/dev/DSP/node92.html

mario.
__________________
Problems with Windows : REBOOT
Problems with Linux : BE ROOT
mkl0815 ist offline   Mit Zitat antworten
Alt 20.09.2004, 14:52  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Auch ein gauten Einstieg in das Nested Sets Modell und die Umsetzung mit PHP und SQL findest du auf develnet.org[1].

[1] http://www.develnet.org/36.html

Allerdings hört es sich so an, als ginge es dir in erster Linie um die Portierung. Da seh ich kein Problem:

Du schreibst dir einfach eine Funktion, die mit einer Knoten-ID in der alten Darstellung des Baums aufgerufen wird. In der Funktion hältst du einen statischen Zähler, der am Anfang eben auf 0 gesetzt wird. Den Zählerwert speicherst du als linken Bezugspunkt des gerade abzuarbeitenden Knotens. Dann liest du alle Kinderknoten ein und gehst alle in einer Schleife durch, wobei du zuerst den Zähler erhöhst und dann die gleiche Funktion eben mit der ID des jeweiligen Kind-Knotens aufrufst. Wenn du alle Kind-Knoten durch hast, dann zählst du den Zähler nochmal hoch und nimmst den Wert als rechten bezugspunkt des aktuellen Knotens und 'returnst'. Den Baum selbst kannst du ja auch in einer statischen Variable halten, oder du gibst jeweils den eruierten Teilbaum zurück und bringst diesen mit array_merge() in den jeweiligen Elternbaum ein ... oder zu schreibst gleich in die DB - aber das dürfte ja klar sein.

Also etwa so:
Code:
function convert($node_id)
{
    static $tree = array('lft' => array(), 'rgt' => array());
    static $counter = 0;

    $tree['lft'][$node_id] = $counter;

    $children = get_children($node_id);

    foreach ($children as $child_id) {

        $counter++;
        convert($child_id);
    }

    $counter++;
    $tree['rgt'][$node_id] = $counter;

    return true;
}
So ähnlich halt. Natürlich musst du den Knoten dann noch irgendwie aus der Funktion rausbringen *g. Also vielleicht doch den (Teil-)Baum als Rückgabewert zurückgeben, anstatt ihn in eine statische Variable zu setzen. Oder aben ne Klasse draus machen...

Basti
Basti ist offline   Mit Zitat antworten
Alt 20.09.2004, 15:05  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

ggf. hilft dir auch dieser link
http://www.tutorials.de/tutorials27144.html
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline   Mit Zitat antworten
Alt 20.09.2004, 15:19  
Gast
 
Beiträge: n/a
Standard vielen dank !

ja erstmal herzlichen dank für eure ganzen links.

ich werde mich mal einlesen. und vor allem für das code beispiel herzlichen dank.

für allen andere leute die sich auch noch ein wenig dafür intessieren habe ich folgenden link. umfangreich und sehr gut vor allem der tree manager.

mfg emu

http://www.klempert.de/php/
  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
horizontales Menü Fritz73 Scriptbörse 9 26.05.2008 22:26
Menu navigation marcels PHP Tipps 2007 1 16.11.2005 18:47
wie gehts schöner/besser? AliceD HTML, Usability und Barrierefreiheit 1 06.09.2005 08:59
Menü Steuerung History !!! PHP Tipps 2005-2 12 23.08.2005 11:51
PHP Menü onMouseOver !!! PHP Tipps 2005-2 6 23.08.2005 00:56
Menü aus MySQL Datenbank ausgelesen PHP Tipps 2005 9 02.06.2005 17:11
PHP Menu mit 2 untermenus PHP Tipps 2005 3 23.05.2005 00:04
so scrollen das menü usw. dableibt PHP Tipps 2005 10 21.05.2005 21:15
Menü auf php-Seite PHP Tipps 2005 20 01.02.2005 20:24
html seite aus menü in php seite einbinden?? PHP Tipps 2004-2 4 21.12.2004 18:00
über ein menü eine datenbankabfrage --> ergebnisse auflis PHP Tipps 2004-2 1 18.11.2004 17:42
Menü Links tauschen PHP Tipps 2004 14 03.09.2004 09:17
[Erledigt] drop down menü werte weitergeben PHP Tipps 2004 3 24.08.2004 15:08
[Erledigt] Wie erstelle ich ein Upload Menü mit mehreren Menüpunkten ? PHP Tipps 2004 3 22.08.2004 14:19
[Erledigt] PopDown Menü fast fertig!! HTML, Usability und Barrierefreiheit 3 27.07.2004 00:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php menü beispiele, php menu, menu mit schleife bauen, php menüsteuerung, php verschachteltes menü, menüsteuerung mit php, php menü steuerung, klempert treemanager, menu mit php, menüstruktur ausgeben beispiele php, tree menue parent model php mysql, php nested menu, menu php beispiel, php verschachtelte menüs, menue steuerungen in php, php menu beispiele vorschau, php menue beispiele, php beispiele menü, php verschachtelte menü, links:develnet.org

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:00 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.