| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Gast
Beiträge: n/a
| 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 |
|
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 10.09.2004
Beiträge: 339
![]() | 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 |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse: Fortgeschritten ![]() | 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;
}
Basti |
| | |
| | |
| Gast
Beiträge: n/a
| 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/ |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ä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 |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.