WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [php] tree ausgabe mit rekursiver schleife (http://www.wcm.at/forum/showthread.php?t=153618)

mqs 20.12.2004 09:55

[php] tree ausgabe mit rekursiver schleife
 
ist es möglich mit einer rekursiven schleife eine ausgabe zu machen wie bei diesem screenshot. hab die kategorien mit id und subid in der db gespeichert.. subid gibt natürlich an in welcher kategorie sich diese befindet. meine schleife sieht ca. so aus:

PHP-Code:

function get_wintree($who,$ebene)
{    global 
$db_kategorien
    
$ergebnis2 mysql_query("SELECT * FROM $db_kategorien WHERE sub_id='$who'");
    while(
$row2 mysql_fetch_object($ergebnis2))
    {
    echo 
$ebene.$row2->kat_bezeichnung;
    
get_wintree($row2->kat_id$ebene.'');
    }


so solls aussehen:

http://dev.ilabs.at/screenshot.gif

das einzige problem dass ich hab ist, dass ich nicht weiss wie ich das mit den gepunkteten linien hinbekomme. kann mir da jemand n denkanstoss geben. hab die icons schon fertig für die gepunkteten linien, aber ich weiss nicht wann ich welches bild wie reinbekomme.

jak 20.12.2004 12:15

Meine Idee (kann auch falsch sein):
Du brauchst drei Bilder: Gerade nach unten (gerade.gif), knick nach rechts (knick.gif) und T-Stück (t-Stueck.gif).
Was du brauchst ist:
Ebene1
-Ebene2
--Ebene3
---Ebene4
-)Für jedes Element die Zahl der direkten Unterelemente (da tstueck.gif (so oft -1) angezeigt wird)
-)Das letzte Element eines Array (da dort knick.gif angezeigt wird)
-)Die Zahl der "indirekten" Unterelemente = Die Zahl der Elemente in der n+1, n+2, usw Ebene. Diese wird für jedes direkte Unterelement aufaddiert, sooft wird gerade.gif angezeigt.
Alles was du dazu brauchst ist count() und eine Methode um auf das letzte Element eines Arrays zuzugreifen. Das geht mit array_pop(), hat aber den Nachteil, das der Wert aus dem Array entfernt wird. Vielleicht gibts irgendein last oder so was.

Am einfachsten ist es aber wahrscheinlich du suchst dir ein fertiges Script ;)

Jak

käptn 21.12.2004 21:14

.oO( http://pear.php.net/HTML_TreeMenu )

~

mqs 21.12.2004 21:41

will das menü aus der db generieren

jak 21.12.2004 22:33

Vieleicht das:
http://www.phpwelt.de/archiv/arcscript.php?arcid=325
oder das:
http://pear.php.net/package/Tree

Jak


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag