mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 08.12.2016 09:20 Benutzername: Passwort: Auto-Login

Thema: [PHP] Multilevel-Menü aus der Datenbank kreieren vom 30.03.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Multilevel-Menü aus der Datenbank kreieren
Seite: 1, 2, 3, 4, 5, 6, 7, 8  Weiter
Autor Nachricht
newbie
Threadersteller

Dabei seit: 15.01.2003
Ort: Müchen, Moosach
Alter: 34
Geschlecht: Männlich
Verfasst Mi 30.03.2005 05:55
Titel

[PHP] Multilevel-Menü aus der Datenbank kreieren

Antworten mit Zitat Zum Seitenanfang

Hi,

Ich hab vor mein eigenes kleines CMS zu bauen. Nun habe ich folgendes Problem:

Auf der Seite gibts ein Menü das so aufgebaut ist
Code:

<ul>
<li>Menüpunkt1</li>
<li>Menüpunkt2</li>
<li>Menüpunkt3</li>
</ul>


der content steht in mysql vereinfacht so:

Code:

id          überpunkt            linktitel                   content
---------------------------------------------------------------------------
1               0                     Menüpunkt1             main1main1
2               1                     Submenü1              sub1sub1sub1
3               0                     Menüpunkt2             main2main2
4               1                     Submenü2              sub1nummer2

Soweit so logisch. Menüpunkt1 hat also 2 Untermenüpunkte und es gibt 2 Hauptmenüpunkte. Die ID definiert meine Seitenstruktur, gehe ich also auf
www.domain.de/index.php?id=1

Sollen 2 Hauptmenüpunkte da stehen und der zur ID gehörige soll so <li class="aktiv"> Menüpunkt2</li> aussehen. So weit krieg ich das auch noch einigermassen hin.

Gehe ich jetzt allerdings auf www.domain.de/index.php?id=2 soll die liste so aussehen:

Code:

<ul>
<li class="aktiv">Menüpunkt1</li>
<li class="aktiv">Submenüpunkt1</li>
<li>Submenüpunkt2</li>
<li>Menüpunkt2</li>
<li>Menüpunkt3</li>
</ul>


das script soll also erkennen dass diese ID eine Untergruppe ist (zu id 1) und sich dementsprechend einrücken.

Ich hoff das versteht man einigermassen * Keine Ahnung... *
Wär wirklich dankbar wenn jemand ne idee hat wie ich das hinbekomm..

achja, pear steht mir leider nicht zur verfügung (ich hatte mir ein "nestedset" ergoogelt, das aber per benötigt)
  View user's profile Private Nachricht senden
Menschlicher

Dabei seit: 24.08.2004
Ort: Hannover
Alter: -
Geschlecht: Männlich
Verfasst Mi 30.03.2005 06:22
Titel

Antworten mit Zitat Zum Seitenanfang

Soweit ich das verstehe ist das doch eine einfache Abfrage, quasi:
Code:

$li_active = (überpunkt gleich 1 wenn id gleich $_GET['id']) ? ' class="aktiv"' : '';

<ul>
<li$active>MP1</li>
<li$active>MP2</li>
usw.
</ul>


Zuletzt bearbeitet von shakadi am Mo 11.04.2005 19:32, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 31
Geschlecht: Männlich
Verfasst Mi 30.03.2005 06:59
Titel

Antworten mit Zitat Zum Seitenanfang

Naja für eine Multidimensionale Navigation solltest du Sessions benutzen um zu überprüfen, welche Hauptmenüpunkte offen sind und welche nicht...... denn mit >einer< übergabe wirste da schnella uf probs stoßen außer natürlich du willst dann die datenbank der navigation rekursiv durchgehen... indem du zuerstmal den eintrag aus der db ausliest und dann dich an den überpunkten entlanghangelst......
  View user's profile Private Nachricht senden
saucer

Dabei seit: 19.05.2002
Ort: München
Alter: 36
Geschlecht: Männlich
Verfasst Mi 30.03.2005 07:19
Titel

Antworten mit Zitat Zum Seitenanfang

Menschlicher hat geschrieben:
Soweit ich das verstehe ist das doch eine einfache Abfrage, quasi:

$li_active = (überpunkt gleich 1 wenn id gleich $_GET['id']) ? ' class="aktiv"' : '';

<ul>
<li$active>MP1</li>
<li$active>MP2</li>
usw.
</ul>


ich versteh das eher so:
Code:

<ul>
<li$active>MP1</li>
<li$active>Sublevel1</li>
<li>Sublevel2</li>
<li>MP2</li>
usw.
</ul>


und backware - er braucht doch keine sessions?
Wenn er seine ID bekommt schaut er einfach in der Datenbank nach zu welchem Hauptpunkt die gehört und der Hauptpunkt sowie die ID werden auf $active gesetzt?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 30.03.2005 07:20
Titel

Antworten mit Zitat Zum Seitenanfang

NIEMALS rekursive Queries an Datenbanken senden. Das erzeugt viel zu viel Last...
 
Waschbequen
Account gelöscht


Ort: -

Verfasst Mi 30.03.2005 08:02
Titel

Antworten mit Zitat Zum Seitenanfang

XSchinkenX hat geschrieben:
NIEMALS rekursive Queries an Datenbanken senden. Das erzeugt viel zu viel Last...

Ach Quark, wenn man's richtig anstellt geht das alles.
 
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 30.03.2005 08:30
Titel

Antworten mit Zitat Zum Seitenanfang

Das ist niemals richtig angestellt...
 
Waschbequen
Account gelöscht


Ort: -

Verfasst Mi 30.03.2005 09:00
Titel

Antworten mit Zitat Zum Seitenanfang

Wegen ner Hierarchie mit 5 Ebenenen - und mehr isses auf Websites in 99% der Fälle nicht - braucht man sich doch keinen Kopf wegen der Performance machen. Außerdem kann mans doch cachen. Oder kann PHP das nicht? Lächel
 
 
Ähnliche Themen [PHP/MySQL] Datum aus Datenbank per PHP umwandeln
Bild Datenbank in PHP
PHP - Datenbank auswählen?
[PHP/MySQL] Datenbank auslesen.
[PHP] Verfallsdatum für Datenbank-Eintrag
Script in PHP für Bildupload in Datenbank
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4, 5, 6, 7, 8  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.