PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auslesen der Navigation


orianosh
23.09.2009, 00:06:40
Hallo, Leute!

Vielleicht kann mir einer weiterhelfen:

Und zwar habe ich ein Menü, dass aus der Datenbank ausgelesen wird. Da ich nicht so ganz in dem Thema stecke, wusste ich nicht, wie ich es anders bewältigen kann.

Das Menü (s. Anhang Bild 18.png) besteht aus einem Hauptpunkt (z.B. Produkte), einem Unterpunkt (z.B. Designobjekte) und einem weiteren Unterpunkt z.B. Tischleuchte xxx, der Designobjekte zugeordnet ist).
Ausgelesen wird alles, Problem ist nur, dass das Unteruntermenü nicht nach dem jeweiligen Untermenü ausgelesen wird, stattdessen am Ende erscheint.

Bild 16.png zeigt, die Tabelle der Unterunter-Menüs, Bild 17.png die des Untermenüs.

in PHP sieht es wie folgt aus:

$sub_nav_abfrage = mysql_query("SELECT * FROM sub_nav where main_nav_id=$ref");
while($row2 = @mysql_fetch_assoc($sub_nav_abfrage))

{

if ($lang == "de" || $lang == "") {
echo "<a href=".$_SERVER["PHP_SELF"]."?lang=de&ref=".$row2["main_nav_id"]."&sn=".$row2["sub_nav_id"].">";

if($sn == $row2["sub_nav_id"]) {
echo "<u>".htmlentities($row2["sub_nav_title_de"])."</u>";
}

else {
echo htmlentities($row2["sub_nav_title_de"]);
}

echo "</a><br>";


}


else {
echo "<a href=".$_SERVER["PHP_SELF"]."?ref=".$row2["main_nav_id"]."&sn=".$row2["sub_nav_id"].">".$row2["sub_nav_title_en"]."</a><br>";
}

}
if($ref == 1) {

echo "<img src=\"images/lampe.jpg\">";
}

if($sn) {

$sub_sub_nav_abfrage = mysql_query("SELECT * FROM sub_sub_nav where sub_nav_id=$sn AND main_nav_id=$ref");
while($row3 = mysql_fetch_assoc($sub_sub_nav_abfrage))



{
echo "<a href=".$_SERVER['PHP_SELF']."?lang=de&ref=$ref&sn=$sn&ssn=".$row3["sub_sub_nav_id"]." class=\"subsubnav\">".htmlentities($row3["sub_sub_nav_title_de"])."</a><br>";
}


}

Hat jemand ne Ahnung, wo es hängt?

Danke vorerst!

mgr
23.09.2009, 12:10:36
Hallo orianosh

dein Codeschnippsel reicht nicht ganz aus um das Problem zu sehen.
Ich hoffe ich habe alles korrekt interpretiert, die vielen Leerzeichen mach das ein bisschen
mühsam.

Aber ich grundsätzlich kann das an 2 möglichen Problemen liegen :
- deine Schleife über die main_nav Elemente stimmt nicht. Da musst du ja jeweils prüfen,
ob das Element aktiv ist und Submenüs hat, und die dann je nachdem ausgeben.
- es steckt ein Fehler im HTML Code (z.B. irgendwo ein Tag nicht abgeschlossen etc.) und
das Menü wird nicht korrekt gerendert.

Lg
mgr