Hejsa Udviklere.
Jeg har et lille problem med et par while og if sætninger. I får lige koden til at starte med.
<?
$topmenuid = 2;
$forespmenu = mysql_query("SELECT * FROM ama_menu WHERE status = 'aktiv' ORDER BY `prioritet` ASC");
while($topaktiv = mysql_fetch_array($forespmenu)) {
if($topaktiv['menuid'] == $topmenuid) {
// Her bliver de hovedmenupunktet, som er aktivt lavet. Hovedmenuen bliver lavet ud fra
// den forespørgsel i databasen, som er inden den første while løkke og med betingelsen at
// "$topaktiv['menuid'] == $topmenuid" og undermenuen bliver lavet i den forespørgsel som findes
// udmiddelbart herunder. Det er undermenuen, jeg ikke kan få til at virke.
$forespsubmenuaktiv = mysql_query("SELECT * FROM ama_submenu WHERE status = 'aktiv' AND menuid = '".$topmenuid."' ORDER BY `prioritet` ASC");
echo "<li class=\\"activsub\\"><a href=\\"http://" . $topaktiv['menuurl'] . "?topmenuid=" . $topaktiv['menuid'] . "\\">" . $topaktiv['menunavn'] . "</a></li>";
echo "<ul class=\\"niveau2\\">";
while($submenuaktiv = mysql_fetch_array($forespsubmenuaktiv)) {
echo "<li><a href=\\"http://" . $submenuaktiv['submenuurl'] . "?topmenuid=" . $submenuaktiv['menuid'] . "\\">" . $submenuaktiv['submenunavn'] . "</a></li>";
}
echo "</ul>";
}
} else {
// Her bliver de hoved og undermenupunkterne, som ikke er aktive lavet. Hovedmenuen bliver lavet ud fra
// den forespørgsel i databasen, som er inden den første while løkke og undermenuen bliver lavet i
// den forespørgsel som findes udmiddelbart herunder. Denne del af koden funker fint.
$forespsubmenu = mysql_query("SELECT * FROM ama_submenu WHERE status = 'aktiv' AND menuid = '".$topaktiv['menuid']."' ORDER BY `submenuid` ASC");
echo "<li class=\\"sub\\"><a href=\\"http://" . $topaktiv['menuurl'] . "?topmenuid=" . $topaktiv['menuid'] . "\\">" . $topaktiv['menunavn'] . "</a></li>";
echo "<ul class=\\"niveau2\\">";
while($submenu = mysql_fetch_array($forespsubmenu)) {
echo "<li><a href=\\"http://" . $submenu['submenuurl'] . "?topmenuid=" . $submenu['menuid'] . "\\">" . $submenu['submenunavn'] . "</a></li>";
}
echo "</ul>";
}
};
?>
Mit problem ligger i, at jeg ikke kan få lavet undermenuen, til den hovedmenu, som skal være aktiv. I kan se hvordan menuen ser ud på her:
Testside. Siden skal ses i IE, da jeg endnu ikke har fået optimeret den til de andre browsere (Firefox, Opera, Mozilla). I eksemplet er det menupunktet forestillinger, som skal forestille at være aktivt og det har 3 undermenuer, som ikke bliver vist..
Jeg har prøvet mange forskellige løsninger, men det er kun hele hovedmenuen og undermenuen til de ikke aktive punkter, der bliver lavet korrekt. Jeg har kontrolleret om mine udsagn er rigtige og det er de rigtige outputs der kommer fra mine forspørgelser.
Problemet kommer efter denne del af koden "echo "<ul class=\\"niveau2\\">";" i den første del af den store whileløkke.
Håber virkelig der er nogen, der kan hjælpe for jeg er ved at blive sindsyg..
Mvh
Sol
Indlæg senest redigeret d. 14.12.2006 06:10 af Bruger #5297