Treemenu

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Treemenu

    Hi Leute!

    Hab mal wieder eine Frage!

    Ich habe folgendes Script geschrieben:

    PHP-Code:
    function getUnderMenu ($SELFPHP$sid$blank) {
    global 
    $id;

    if(!
    $sid) { $sid "0"; }
    #echo "ID: ".$id."<br/ >";
    #echo "SID: ".$sid."<br/ ><br/ >";
    $result mysql_query("SELECT * FROM port_menu WHERE pid='$sid' ORDER BY rank");
    while(
    $row mysql_fetch_array($result)) {
        echo 
    "&nbsp;<b><a href='".$SELFPHP."?id=".$row[id]."'>".$row[name]."</a></b><br />";
        
    getUnderMenu ($SELFPHP$row[id], $blank++);

    Dieses gibt folgendes Ergebnis:

    PHP-Code:
    M 1
    M 1.1
    M 1.1.1
    M 1.1.1.1
    M 1.1.1.1.1
    M 1.1.1.1.2
    M 1.1.1.1.3
    M 1.1.1.2
    M 1.1.1.2.1
    M 1.1.1.3
    M 1.1.1.3.1
    M 1.1.1.3.2
    M 1.1.1.3.2.1
    M 1.1.1.4
    M 1.1.2
    M 1.2
    M 1.2.1
    M 1.2.1.1
    M 1.2.1.1.1
    M 1.2.1.2
    M 1.2.1.3
    M 2 
    Diese KOMPLETTE anzeige möchte ich aber nicht!!!!!!

    Ich möchte gerne, das mir nur der Pfad angezeigt wird, bei dem ich den Menupunkt gewählt habe.

    Also nicht so wie bei dem Explorer!!
    Ich meine damit NICHT alle gewählten anzeigen, sondern nur den Pfad von dem gewählten Menupunkt.

    So sollte es eigentlich aussehen:

    PHP-Code:
    M 1
    M 1.1
    M 1.1.1
    M 1.1.1.1 
    === gewählter Menupunkt
    M 1.1.1.1.1 
    === unterpunkt sollen dann angezeigt werden
    M 1.1.1.1.2 
    === unterpunkt sollen dann angezeigt werden
    M 1.1.1.1.3 
    === unterpunkt sollen dann angezeigt werden
    M 1.1.1.2
    M 1.1.1.3
    M 1.1.1.4
    M 1.1.2
    M 1.2
    M 2 

    Webbi

    Für EURO Hilfe danke EUCH ALLEN jetzt schon mal!
    Zuletzt geändert von Webbi; 16.05.2003, 14:47.
    >>>> Erst denken, dann suchen, dann fragen <<<<

  • #2
    du gehst die schose aufwärts und schaust, welche id ein sogenannter crosspoint ist. also alle übergeordneten verzweigungen zum letzten aktiven punkt.

    und nur bei diesen ids rufst du recursiv das getundermenu() auf
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hi

      Wie meinst Du das genau!

      Webbi
      >>>> Erst denken, dann suchen, dann fragen <<<<

      Kommentar


      • #4
        du kennst deine aktuelle id des unterpunktes irgendwo. nun gehst du den baum aufwärts und schaust, welche verzweigungen (crosspoints) zu dem aktuellen punkte geführt haben.

        erst dann machst du die darstellung wie bisher. allerdings rufst du innerhalb deiner fkt die fkt nur dann auf, wenn die aktuell durchlaufene id auch ein 'crosspoint' zum aktuell gewählen unterpunkt ist.

        wenn du es nicht verstehst, lies es einfach noch einmal langsam...
        ist eigentlich, mit ein wenig nachdenken natürlich, leicht zu verstehen und nachzuvollziehen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          bei deinem problem geht es um sog. "nested sets" es gibt da ein wunderbares tutorial, in dem auch der theoretische hintergrund erläutert wird, bezieht sich zwar aus sql, aber vielleicht hilft dir das prinzip

          http://www.php-resource.de/tutorials/read/21/1/

          gruss
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            @Kropff
            so wie ich das sehe, sieht das aber nicht nach einem 'Nested Set' aus..
            aber der link zum tut könnte im dennoch helfen.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X