dynamisches Javascript Tree-Menü mit PHP erzeugen

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

  • dynamisches Javascript Tree-Menü mit PHP erzeugen

    ich möchte per php eine liste generieren, (mit <ul><li> tags), nur wird sie leider nicht richtige geschlosseN (die </ul></li> tags werden nicht erzeugt).
    ich hab es in das galleryscript intigriert.

    ich habe echos reingebaut,
    ich wollte gucken ob die variablen $pre und $old_pre richtige zahlen haben. (dort ($pre) wird gespeichert in welchem unterordner man sich befindet, also 1. unterordner, 2.unterordner und welcher unterordnerstufe (1,2,etc.) vorher erzeugt wurde ($old_pre) )
    PHP-Code:
                    $count++;
                    
    $sub $path."/".$scaned_file_name."/";
                    
    $sub str_replace($orig_path."/"""$sub);
            
                    for(
    $i=0;$i<$count;$i++)
                    {
                        
    $pre ++; //pre wird erhöht je nach dem wie weit der ordner verschachtelt ist (1. unterordner, 2., 3., etc.)
                    
    }    
            
            

            if(
    $pre>$old_pre) echo '<ul>';    //falls pre>old ->also aktueller ordner ist eien stufe "tiefer" = wird eine neue liste erzeugt (<ul>)

                    
    if($link_type == "PHP")
                        echo 
    '<li><a href="'.$link.'gallery.php&show_directory='.$sub.'">'.$scaned_file_name.'</a>';
                    else
                        echo 
    '<li><a href="gallery.php?show_directory='.$sub.'">'.$scaned_file_name.'</a>';

            
            if(
    $pre<$old_pre) { //wenn aktuelle liste <old, dann
            

            
                
    $diff $old_pre-$pre//wird gerechnet, wieviele listen geschlossen werden müssen
                
    for($j=0;$j<$diff;$j++) //j mal wird dann die liste geschlossen
                    
    {
                    echo 
    '</ul></li>';
                    }


                }

            if(
    $pre==$old_pre) echo '</li>'// wenn pre==old, wird nur listenpunkt geschlossen, tiefe des ordners bleibt

            
            
    $old_pre $pre// old bekommen wert von pre (das funzt nicht ganz!!! hier ist der fehler!!!)
                    
    unset($pre);
                    
    directorylisting("$path/$scaned_file_name"$sub$orig_path$link_type$link);
                    
    $count--;
                    unset(
    $sub); 
    sie werden so dargestellt $pre & $old_pre
    es kann passieren dass sie untereinadnder stehen, zur übersichtlichkeit hab ich nach jedem eintrag einen doppelten umbruch gemacht gemacht
    liste version source

    hier echo $pre & $old_pre version



    hier die originale nicht liste sondern "pseudeliste" mit einrücken durch leerzeichen
    source dazu (fürs original)

    es müsste so aussehen:
    Code:
                1 & 1
    
                1 & 1
    
                      2 & [B]1[/B]
    
                      2 & 2
    
                            3 & [B]2[/B]
    
                      2 & [B]3[/B]
    
                1 & [B]2[/B]
    
                1 & 1
    fettgedruckte sind noch falsch
    PS: ignoriert die nächsten 6 beiträge, macht da weiter, wo ich 2mal hintereinander geschrieben hab
    Zuletzt geändert von cyki; 31.08.2006, 11:06.

  • #2
    Re: dynamisches Javascript Tree-Menü mit PHP erzeugen

    Original geschrieben von cyki
    Nun ist das aber optisch sehr bescheiden.
    Strukturell auch.

    Das, was auf dem Bild zu sehen ist, möchte garantiert als verschachtelte Liste abgebildet werden, denn nur so kann es sich wohlfühlen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Naja, mal ganz ehrlich, es ist dein script, also müsstest du wissen, an welcher stelle das geht. Wir kennen weder script, noch code noch sonst irgendwas. (der gepostete code ist was lang und unübersichtlich.)

      irgendwo muss dein script ja wissen, wann es die erste einrückung (zwei leerzeichen) macht. direkt davor ist also der parent-node. dessen ID kannst du herausfinden. (oder musst sie vergeben. )
      Dann wird die nächste zeile generiert. die hat den gleichen parent. so lange bis dann wieder zwei leerzeichen dazu kommen. da weißt du also, dass du eine ebene tiefer bist. folglich muss der letzte node wieder der parent-node sein. als dessen id als parent-id für die folgenden nodes nehmen und immer so weiter.

      vermutlich baust du das ganze rekursiv auf, dann sollte es auch kein problem mit rückschritten (t.B. von ebene 3 auf 1) geben.

      Schwer beschrieben, aber ohne wissen. Hoffe es hilft trotzdem.

      Kommentar


      • #4
        1. Es ist nicht mein Script, sind "fremde"

        2. Ihr habt den ganzen Code zur Auswahl (ist n Open Dir)

        link zum open dir das ist der ordner von dem galleryscript und in dem ordner ist der auch der ordner für das treemenü (dtree)

        könnt auf alle dateien so zugreifen!

        das mit der ID Vergabe verseh ich nicht ganz, ich bin eigentlich anfänger! ihr dachtet ja ichhab das script geschriebe, aber nix da, ich versteh nur simple sachen. vllt kann einer ja auch n pseudo code schreiben ?

        @wahsaga ist das kein gutes script ?
        soll ich n anders benutzen ? oder was willst du damit sagen ?

        Kommentar


        • #5
          dann move ich mal nach Projekthilfe

          Kommentar


          • #6
            sorry fürs posten ins falsche forum.

            also was ich jetzt so ohne viel aufwand machen könnte wäre:

            statt diesen 2 leerzeichen (einrückung), könnte ich mit einer variable abfragen ob es ein unterordner ist, und der wievielte ordner es ist.

            statt $pre .= "&nbsp"; mach ich einfach
            $pre = $pre+1;

            so eine sturktur würde dann das beispielmenü anzeigen:
            zur besseren darstellung , hab ich es auch mit einrücken aufgeschrieben:

            Code:
            0
             1
              2
               3
               3
             1
              2
             1
             1
              2
            0
            hier nochma das bild dazu:

            Kommentar


            • #7
              bitte ersten post nochmal lesen !!! wurde geändert
              Zuletzt geändert von cyki; 31.08.2006, 10:43.

              Kommentar

              Lädt...
              X