Antworten auf deine Fragen:
Neues Thema erstellen

Verschachteltes Menü aus Datenbank

Fugel

rebmeM

PSD Beta Team
Hallo Leute,

ich versuche gerade eine verschachteltes Menü aus meiner Datenbank zu bauen.

meine DB hat dabei folgende Felder:

id, name, ebene, link, sort, link, pos

Mein bisheriges Script schaut wie folgt aus:

PHP:
// hold all references
        $ref = array();
// hold all menu items
        $items = array();

// loop over the result
        while ($data = $query->fetchObject()) {
            // Assign by reference
            $thisRef = &$ref[$data->id];

            // add the menu parent
            $thisRef['parent'] = $data->ebene;
            $thisRef['label'] = $data->name;
            $thisRef['link'] = $data->link;

            // if there is no parent push it into items array()
            if ($data->ebene == 0) {
                $items[$data->id] = &$thisRef;
            } else {
                $ref[$data->ebene]['child'][$data->id] = &$thisRef;
            }
        }

        function get_menu($items, $class = 'menu') {
            $html = '<ul class="'.$class.'">';
            foreach ($items as $key => $value) {
                $html.= '<li><a href="'.$value['link'].'">' . $value['label'];
                if (array_key_exists('child', $value)) {
                    $html .= get_menu($value['child'], 'child');
                }
                $html .= "</a></li>";
            }
            $html .= "</ul>";

            return $html;
        }

        echo get_menu($items);

Allerdings funktioniert das ganze nicht zu 100%. Ich kann max nur 2 Ebenen anlegen, alle anderen werden garnicht angezeigt. Und irgendwie macht er mir alle Links doppelt. Alles in allem bin ich sehr unzufrieden mit der Sache. Die Nestet Sache die man überall im Internet findet hab ich mir angesehen und raffe sie einfach nicht.


Kann mir einer weiter helfen? Möglichst ohne meine DB umbauen/erweitern zu müssen.
 

fakerer

Aktives Mitglied

hi,
wenn du nur ebenen und sort hast mach doch einfach eine abfrage wo du nach ebenen und dann nach sort ordnest.
was ist der unteschied zwischen sort und position?

wen du mit parent arbeitest, wie es in deinem code steht wird dir nichts andres übrig bleiben als alles mit schleifen durchzulaufen
sprich einen ast nach dem andren abzuarbeiten
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben