Navigation - Anzeigeproblem

freakyno1

Grünschnabel
Hallo liebe Community,

zu allererst muss ich mich mal bedanken für die viele Hilfe, die ich hier schon erfahren habe.
Ich habe zwar bis jetzt noch nichts gepostet, aber dafür viel gelesen und die Suche benutzt. Wenn ich in dem Bereich PHP ( und MYSQL) mal etwas versierter bin, sehe ich mich bestimmt auch in der Lage, öfters zu helfen. ;)

So, nun aber mal zu meinem kleinem Problem:

ich habe ein Script, dass mir die Site auf der man sich gerade befindet, ausblendet:


PHP:
<?php
    $navigation = array ("Kategorie1" => "/kategorie1.php",
         "Kategorie2" => "/kategorie2.php",
         "Kategorie3" => "/kategorie3.php",
         "Kategorie4" => "/kategorie4.php",
         "Kategorie5" => "/kategorie5.php",
         "Kategorie6" => "/kategorie6.php");
    while (list($key, $val) = each($navigation)) {
        if ($_SERVER['PHP_SELF'] == $val) {

            echo "<li class=\"invis\">$key</li>";
             } else {
            echo "<li><a href=\"$val\">$key</a></li>";
             }
        }
?>
Das funktioniert wunderbar und lässt sich schön als include einpflegen.
Nun habe ich in einem Bereich meiner Homepage ein wenig umgebaut und hole mir den Inhalt der einzelnen Kategorien Mittels angehängterVariable
aus der Datenbank:

PHP:
<?php
    $navigation = array ("Kategorie1" => "/kategorie.php?kat_id=1",
         "Kategorie2" => "/kategorie.php?kat_id=2",
         "Kategorie3" => "/kategorie.php?kat_id=3",
         "Kategorie4" => "/kategorie.php?kat_id=4",
         "Kategorie5" => "/kategorie.php?kat_id=5",
         "Kategorie6" => "/kategorie.php?kat_id=6");
    while (list($key, $val) = each($navigation)) {
        if ($_SERVER['PHP_SELF'] == $val) {

            echo "<li class=\"invis\">$key</li>";
             } else {
            echo "<li><a href=\"$val\">$key</a></li>";
             }
        }
?>
Leider wird jetzt die aktuelle Site nicht mehr ausgeblendet, was wohl an der angehängten Variablen liegt. Nur komme ich nicht dahinter, warum dass so ist und finde keine Lösung für dieses Problem.
Ich hoffe, dass es ein Lösung gibt und die auch einer von Euch zur Hand hat.

Ich bedanke mich schon mal jetzt für jede Hilfe

MfG FreakyNo1
 
Zuletzt bearbeitet:
ich verstehe nicht was der sinn des 2. ist.
erstens nimmst du php dateien mit der id im namen (kategorie2.php, kategorie3.ph) zusätzlich nimmst du aber auch als GET wert nochmal die id mit.
wozu doppelt?
 
@tkausl: Und auch hier nochmal die Bitte an dich, in deinen Beiträgen auf die Groß- und Kleinschreibung zu achten!

Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.

mfg Maik
 
Entschuldigung, da habe ich mich vertippt. In dem zweiten Beispiel verweise ich natürlich immer nur über die angehängte Variable auf die jeweilige Kategorie. Aber das ist ja auch nicht das Problem, dass ich beschrieben habe. ;)
 
Hi,

dann gibt es ja auch nichts mehr, was Du mit dem aktuellen Scriptnamen ($_SERVER['PHP_SELF']) vergleichen müsstest, der ist jetzt immer "kategorie.php".
Speicher in dem Array nur noch die IDs der Kategorien und vergleiche mit der übergebenen ($_GET['kat_id']). Dann musst Du bei der Linkausgabe nur noch den Scriptaufruf vor $val setzen.

LG
 
Wenn ich dich jetzt richtig verstanden habe, dann soll ich den Inhalt von var nur noch durch die ID ersetzen. Aber woher bekomme ich dann mein Menü, wenn da nur noch die ID angegeben ist?
 
Hallo,

aber das habe ich doch gemeint. Wenn ich das so mache, dann sieht mein menue in Zukunft so aus:

Kategorie1 | Kategorie2 | Kategorie3|

und hinter den Links : http://www.1 | http://www.2| http://www.3

Dieses Script ist schließlich hauptsächlich dafür, mein Menue zu erzeugen und in Zweiter Linie die aktuelle Site auszublenden.

Immer vorrausgesetzt, ich verstehe dich richtig ;)
 
Zurück