WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 20.12.2004, 09:55   #1
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard [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:



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.
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 20.12.2004, 12:15   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 21.12.2004, 21:14   #3
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

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

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 21.12.2004, 21:41   #4
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

will das menü aus der db generieren
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 21.12.2004, 22:33   #5
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:44 Uhr.


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