Menü

vivanity

Grünschnabel
Ich möchte bei einem Menü die Hintergrund Farbe der aktiven Seite farbig hinterlegen. Das soll über CSS geschehen.
Jede Seite hat über die URL ein eindeutige id:
<A href="index.php?id=1">menü1</a>
<A href="index.php?id=2">menü2</a>
<A href="index.php?id=3">menü3</a>

muß ich jetzt in jeden link eine if else Abfrage stellen und das ergebniss in <a href class"ergebniss"...
einfügen oder gibt es eine möglichkeit mit nur einer Funktion oder einer Schleif für alle links das Problem zu lösen?

Vielen Dank im voraus
 
Wenn du das Menü dynamisch generierst, also z.B. aus einer DB mit einer while-Schleife ausliest, dann mach einfach
PHP:
if($_GET['id'] == $row['id']){ $active = "class=\"aktiv\""; }
else{ $active = ""; }


// Im Menü dann
<a href="..." <?=$active?>>...</a>

Sollte das Menü statisch sein, wirst du wohl nicht drum rum kommen, für jedes Item eine if-else Abfrage zu machen. Sollte es doch anders gehen, dann klärt mich bitte auf ;)

mfg mAu
 
probiere es mal damit
PHP:
  <?
  // id wird durch seite übergeben
  $id = 1;
  //navigationsquelltext in Variable packen
  $navitext = '<A href="index.php?id=1">menü1</a><br>
        <A href="index.php?id=2">menü2</a><br>
        <A href="index.php?id=3">menü3</a>';
  // Vorherige ausgabe prüfen
  echo "<b>vorher</b><br>";
  print ($navitext); 
  //aktiven Link ändern
 $navi = str_replace('<A href="index.php?id='.$id.'">','<A href="index.php?id='.$id.'" class="ergebniss">',$navitext);
  // Zur kontrolle ausgeben
  echo "<br><b>nachher</b><br>";
  print ($navi);
  echo "<!-- Na zufrieden -->
  // schau im quelltext nach ob es klapt
   ?>
 
Zuletzt bearbeitet:
Zurück