Avatar billede bremer Nybegynder
07. maj 2009 - 20:05 Der er 7 kommentarer

Dynamisk menu

Hej Venner,

Sidder her med et lille programmerings problem, jeg er ved og lave en dynamisk menu, og håber I kan afklare et par ting.

Den indsætte kode er selve "menu'en"

1. Det handler om, at jeg gerne vil "aktivere" det aktuelle menu-punkt, alt efter hvad for en side man står på.

2. Det næste er, den variabel som jeg skal indsætte på de forskellige sider, så som; "forside,kontakt, produkter, historie" osv...  - hvordan skriver man den? Hvor skal den stå på den aktuelle side, over eller under header?

Kan det se så her ud?
<title>SIDETITEL</title>
<meta name="keywords" content="#">
<meta name="description" content="#">
<?php $page = $_GET["page"]; ?>
</head>

Eller hvad med sådan her?
<title>SIDETITEL</title>
<meta name="keywords" content="#">
<meta name="description" content="#">
<?php $page = "forside"; ?>
</head>

<?php
if (array_key_exists("page",$_REQUEST)) {
    $page = $_GET["page"];

    // test at siden er noget gyldigt
    if (!in_array($page,array("forside","kontakt","produkter","historie"))) $page = null;

} else {
    $page = null;
}
// hvis ikke siden er sat her, har den enten ikke været sat eller sat, men ugyldig.
if (is_null($page)) $page = "forside";
?>

<?php
$result = mysql_query("SELECT * FROM tm_menu ORDER BY menu_placering", $connection);
    if (!$result) {
        die("Database query failed: " . mysql_error());
}

while ($row = mysql_fetch_array($result)) {
  if ($page == $row["page"]) {
    $aktiv = "_aktiv";
  } else {
    $aktiv = "";
  }

  print "<li><div class='menu_venstre'".$aktiv."''></div><div class='text'".$aktiv."''><a href='http://www.domaene.dk/new/".$row["menu_link"]."'>".$row["menu_navn"]."</a></div><div class='menu_hojre'".$aktiv."''></div></li>";

}
    ?>


Håber I kan forstå mit lille problem :)
Avatar billede showsource Seniormester
07. maj 2009 - 21:54 #1
Hvad indeholder $row["menu_link"] ?
Blot filnavnet som viser siden?
( og du bruger også $row["page"] ? )

Hvis det er filnavnet du henter i db:

$fil = basename($_SERVER["PHP_SELF"]);

$aktiv = ($fil == $row["menu_link"] ? "_aktiv" : "");
Avatar billede bremer Nybegynder
08. maj 2009 - 11:44 #2
"$Page" er den varibel som jeg ønsker, at kunne fast satte på den side som skal være aktive. Ekspelvis forsiden, ville jeg gerne sætte noget i stil med;
<?php $page = "forside"; ?> eller <?php $page = [0]; ?>

I den ovenstående "menukode" står der;

if (!in_array($page,array("forside","kontakt","produkter","historie"))) $page = null;

Så skulle man jo tror, at forsiden ville blive "aktiv"

Eller hvad?
Avatar billede showsource Seniormester
09. maj 2009 - 14:41 #3
Kommer jo an på hvordan du har defineret f.eks. "forside" og hvad det er du henter i DB
Avatar billede bremer Nybegynder
17. december 2009 - 19:47 #4
Bare skriv et "svar" - de få point... -
Avatar billede showsource Seniormester
23. december 2009 - 08:22 #5
Fandt du en løsning ?
Avatar billede bremer Nybegynder
29. april 2012 - 10:50 #6
send et svar
Avatar billede showsource Seniormester
08. juni 2012 - 20:59 #7
øhh, svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester