[Funktion] Menü-Funktion ein wenig umfunktionieren

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

  • #16
    nein, nur id und pid. und bevor du das rad neu erfindest, schau dir das buch an, das ich erwähnt habe und google einfach mal nach "sql adjacency list model".

    Kommentar


    • #17
      Also wenn ich diesen Text (http://www.sqlsummit.com/AdjacencyList.htm) richtig verstanden habe, dann geht es einfach nur darum mit Parent-ID's zu definieren, welcher Punkt zu welchem Oberpunkt gehört.

      Etwas ähnliches hab ich schonmal versucht.
      Das lief auch eigentlich ganz gut, allerdings war das Problem, dass das Script irgendwann nicht mehr wusste wenn ich einen Menü-Punkt angeklickt hatte, welches Obermenü dazu gehört.

      Eine Übergabe der Pid und der ID über $_GET ist ja so ne Sache.

      Weil ich mir überlegt habe, was ist, wenn jemand einen Link im Fließtext anklickt? Der ist ja nicht so formatiert, dass das Menü korrekt angezeigt wird.

      Ok...
      Jetzt bin ich verwirrt.

      Vielleicht könnte mir einfach jemand langsam erklären, wie ich ein dynamisches Menü im Stile dieser Webseite erstelle:
      http://www.ftv1860frankfurt.de

      Dankeschön an denjenigen, der sich die Zeit nimmt mir zu helfen.

      Kommentar


      • #18
        404

        du sollst keine pid im link übergeben. anhand einer id kannst du die über-ebene mit dazugehöriger pid ermitteln. usw. nach oben, bis zur obersten ebene. und so weißt du, welche ebenen "aufgeklappt" sein sollen.

        Kommentar


        • #19
          Ich meine, wie das Menü "von" oben runter aufgebaut wird ist klar.

          Zuerst alles was pid = 0 hat, dann alles was pid = zb. 1 hat und dann in der 3. Ebene alles was pid = 9 oder so hat.

          Aber wie mache das nun mit den übergaben und so?

          Soll ich also nur die ID per $_GET übergeben?

          Und wie fällt dann der Aufbau aus?
          Muss ich also zuerst alles abfragen um das Menü von unten nach oben durchzuarbeiten und die Punkte herauszufinden und dann von oben nach unten ausgeben?

          Und wie mache ich das dann?

          Danke nochmal an alle Helfenden.

          Kommentar


          • #20
            ja, eigentlich genau so, wie du beschrieben hast.

            viel effizienter dagegen ist, in einer session den pfad zu speichern, dann musst du zumindest den leuten, die von der startseite aus irgendwohin navigieren, nicht immer so viele queries ausführen.

            Kommentar


            • #21
              Ok...

              Dann stimmt zumindest der Ansatz

              Vielleicht könntest du mir jetzt helfen das ganze in Code umzusetzen.

              Wie mache ich das am besten mit der Abfrage von unten nach oben und dann dem Aufbau.

              Und wie stellst du dir das mit dem Pfad in Session speichern vor?

              Danke aber schonmal für die Hilfe

              Kommentar


              • #22
                hab ich dich nicht schon mal auf google verwiesen?

                http://www.sitepoint.com/article/hie...-data-database z.b. hat ein einfaches beispiel für die erstellung von breadcrumbs ("get_path") - es ist ja das gleiche in grün.

                Kommentar


                • #23
                  Ok, jetzt habe ich das ganze mal ausprobiert:

                  PHP-Code:
                  function menue_ausgeben($parent$level)
                    {
                      
                  // Alle Childs eines $parent abrufen
                      
                  $sql "SELECT id, name, action, parent FROM ftv_menue WHERE parent="$parent;
                      
                  $result mysql_query($sql);
                      
                      
                  // Zeige jedes Child
                      
                  while ($row mysql_fetch_assoc($result))
                      {
                        echo 
                  str_repeat('<br>',$level).$row['name']."\n";
                        
                        
                  menue_ausgeben($row['id'], $level+1);
                      }
                    } 
                  Aufgerufen über:

                  PHP-Code:
                  menue_ausgeben('0','0'); 
                  Allerdings erhalte ich (natürlich) bedingt durch das <br> jetzt ein Vertikales Menü:
                  Home
                  Über uns

                  Wer wir sind

                  Unsere Mannschaften

                  Wann wir trainieren

                  Wie es läuft

                  Was es kostet

                  Wo wir trainieren
                  English News Termine Intern Location Kontakt Gästebuch Links
                  Wobei "Home, News, Termin, Intern, Location, Kontakt, Gästebuch und Links" eigentlich das Obermenü darstellen.
                  "Über uns" und "English" sind das Sub-Menü.
                  Und die andern Punkte sind das "Sub-Sub-Menü".

                  Allerdings hat diese Ausgabe Methode nicht wirklich viel mit dem Horizontalen Menü zu tun, dass ich gerne hätte:
                  http://www.ftv1860badminton.de/

                  Kann mir jemand vielleicht helfen die Funktion dahingehend umzubauen?

                  Dankeschön schonmal

                  Kommentar


                  • #24
                    Original geschrieben von TheTommynator
                    Allerdings erhalte ich (natürlich) bedingt durch das <br> jetzt ein Vertikales Menü
                    Einfach nur Links rauszusch(m)eissen ist ja auch Käse.

                    Zeichne diese vernünftig mittels einer Liste (UL) aus, und formatiere diese dann wie gewünscht.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X