DYNAMISCHES MENÜ ->rekursive funktion -> hilfe

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

  • DYNAMISCHES MENÜ ->rekursive funktion -> hilfe

    Hallo und guten Tag,

    ich muss von der Arbeit aus ein dynamisches Menü erstellen. Die Daten werden aus einer Datanbank rausgelesen. Das ist die ID, parentID und Description.
    Nun das Problem. Ich bin voll der noobie und Anfänger in Sachen rekursive Funktionion. Ich will quasi das ein Menü erstellt wird.

    z.B.
    Home
    News
    Misc
    Info
    .....
    Nun hat jedes dieser Punkte Unterkategorien

    z.B.
    Home
    |__ About Us
    |__ BlaBla
    News
    |__ Aktuell
    |__ Archive
    Misc
    |__ Downloads
    ............. |__ PHP Scripte
    Info


    Diese Unterkategorien sollen jeweils nur angezeigt werden wenn man die dazugehörigen Oberkategrien angeklickt hat.

    Mein Anfang sieht so aus:
    PHP-Code:
    <?php
        error_reporting
    (E_ALL);
        
        
    define('MYSQL_HOST',     'localhost');
        
    define('MYSQL_USER',     'root');
        
    define('MYSQL_PASS',     '');
        
    define('MYSQL_DATABASE''tree');
        
        
    //connect to database
        
    function connect_to_sql(){
            
            @
    mysql_pconnect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
                die(
    "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
            
    mysql_select_db(MYSQL_DATABASE) OR
                die(
    "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
                  
           }
      function 
    getLevel($iIdParent) {

        
    $sQuery 'SELECT * FROM tree WHERE parentID = '.$iIdParent;
        
    $rResult mysql_query($sQuery);
        while (
    $aLine mysql_fetch_array($rResultMYSQL_ASSOC)) {
            echo 
    $aLine['parentID']." - ".$aLine['ID'];
          echo(
    '<a href=?go='.$aLine['ID'].'>'.$aLine['bsp'].'</a><br />');
          if (isset(
    $_REQUEST["go"])) {       
              if (
    $_REQUEST["go"] == $aLine['ID']) {
                  
                  
    getLevel($aLine['ID']);    
              }
          }
        }
      }
    connect_to_sql();
    getLevel(0);
    ?>
    Dies geht jedoch nur in die 2te Ebene rein! Weiter nicht! Es soll dynamisch gehen so das es keine begrenzung der Ebenen gibt.
    Brauche da dringend Hilfe.

    Ich bedank mich schon im Voraus.
    (Bitte die Rechtschreibfehler nicht beachten )
    Zuletzt geändert von tr1x; 17.04.2007, 22:53.

  • #3
    Stichwort Nested Sets.

    EDIT:
    Zu spät ...
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #4
      linksammlung

      danke für die links.

      die hab ich mir schon selber vorher alle angeschaut.
      ich breuchte direkte hilfe

      Mfg

      Kommentar


      • #5
        Für grenzenlos tiefe Menüs mußt du getLevel() so umbauen, dass es erstmal (rekursiv) alle ParentIDs von $_REQUEST['go'] sammelt. Der Rest kann so bleiben - von Level 0 an immer dann die Unterebene "aufklappen", wenn ihre ID in der Sammlung der ParentIDs ist.

        Kommentar


        • #6
          danke

          hallo danke für die schnelle antwort.

          ich werde dies gleich ausprobieren.

          mfg

          Kommentar


          • #7
            Re: linksammlung

            Original geschrieben von tr1x
            die hab ich mir schon selber vorher alle angeschaut.
            ich breuchte direkte hilfe
            OffTopic:
            "Web Programmierung von A bis Z mit tomus.eu"
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #8
              thx 4 help

              wahsaga - > Moderator

              Kommentar


              • #9
                tr1x -> "Web-Programmierer" ...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #10
                  sry wahsaga aber wie alt bist du bitteschön.

                  und wie biste moderator geworden? leute brauchen hier hilfe und du schreibst hier 20000 beschissene anmachen. so primitiv wie du muss man erst sein.

                  bitte mowl halten.

                  wenn du was weist kannst ja gerne helfen.

                  Kommentar


                  • #11
                    Noch mal so'n Tonfall, und für dich ist Feierabend.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #12
                      @topicstarter
                      Ein sehr guter Artikel zum Thema Nested Sets findest du unter dem Link. Braucht etwas Zeit um in die Materie einzusteigen, aber für verschachtelte Menustrukturen gibt's nix besseres. Da brauchst du keine rekursiven Abfragen auf der DB !

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #13
                        ich breucht es so auf die schnelle

                        im ganzen www gibt es kein beispiel für ein dynamisches menü in php

                        irgendwie komisch

                        Kommentar


                        • #14
                          im ganzen www gibt es kein beispiel für ein dynamisches menü in php
                          Quark !
                          Wenn ich 'dynamisches menu php' in google eingebe dann sagt Google was von 45600 Trefferseiten (mit englisch habe ich es gar nicht erst probiert, wäre wohl noch einige mehr).
                          Wenn du z.B. nach 'css menu' suchst dann kriegste gar 80'000'000 Treffer.
                          Ein konkreter Link wäre (zum Thema Nested Sets Menu)
                          http://www.traum-projekt.com/forum/7...sted-sets.html

                          Viel Spass

                          tobi
                          OffTopic:

                          Weiss eigentlich der Otto Normalsurfer wie man SuMas bedient ? Wir sollten vllt einen Sticky machen: Anleitung zur Bedienung einer Suchmaschine.

                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #15
                            ja und gibt es gar keine Lösung die man mit ner Rekursiven Funktion lösen kann?

                            Kommentar

                            Lädt...
                            X