kostenloser Webspace werbefrei: lima-city


"Intelligentes Menü"?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    Ich habe ein Menü vorliegen, dass Einträge zu verschiedenen
    Rubriken automatisch generiert - in Kombination mit MySql.
    Macht man Einträge zu Rubriken, erscheint automatisch ein
    neuer Eintrag in der Menüleiste mit dem Rubriken-Namen.
    Funktioniert soweit alles. Sieht etwa so aus:

    Übersicht
    Erste Rubrik
    Zweite Rubrik

    Code lautet:


    <? foreach($rubriken as $index => $menue) 
        echo "<p><a href="?id=$index">$menue</a></p>";
     ?>


    Jetzt soll aber, sobald ein Menüeintrag ausgewählt ist, die
    Verlinkung ausgeschaltet werden. Das soll mit einer If-Abfrage
    gemacht werden: stimmt der Index-Wert des Menüeintrags mit dem
    get-Parameter id oben in der Adresszeile überein (etwa ?id=1 für den
    ersten Rubrik-Eintrag), soll kein
    Link gesetzt werden.

    Der Code lautet:
    <?
    foreach($rubriken as $index => $menue) {
        if ($index == $id) echo "<p>$menue</p>";
        else echo "<p><a href="?id=$index">$menue</a></p>";
         }?>


    So - sollte funktionieren, tut es aber nicht. Es wird munter
    weiter verlinkt, auch wenn der Menüeintrag gewählt wurde.
    Komischerweise ist jetzt allerdings beim "nullten" Menüeintrag -
    nämlich "Übersicht" - permanent die Verlinkung weg.
    ("Übersicht" ist Array zu den Rubriken -
    $rubriken = array("Übersicht") ;

    Wo liegt da ein logischer Fehler?
    Bitte um Rat.;-)


    Beitrag geändert: 19.9.2008 16:24:23 von waldorf
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hmm versuch mal vor $id ein (int)
    ich hab den code getestet und bei mir tritt auch ohne (int) kein fehler auf !?

    ist $id = $_GET['id']; !??!?

    und noch ne frage ist bei den echo "<a href=" <<-- hier ein \\ davor !?


    Beitrag geändert: 19.9.2008 19:49:37 von friscocount
  4. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.


    hmm versuch mal vor $id ein (int)
    ich hab den code getestet und bei mir tritt auch ohne (int)
    kein fehler auf !?


    Ne, funktioniert nicht.

    ist $id = $_GET['id']; !??!?

    Ja.

    und noch ne frage ist bei den echo
    "<a href=" <<-- hier ein \ davor !?


    Ja.

    Wie gesagt, der Link wird auch dann angezeigt, wenn
    ich auf den Menüeintrag geklickt habe.
  5. Hmm weiß nicht ob das mit dem nichtfunktionieren zusammen hängt aber de müssteste noch die " entquoten
    ... also aus:
    <?
    else echo "<p><a href="?id=$index">$menue</a></p>";
    ?>

    werde:
    <?
    else echo "<p><a href=#"?id=$index#">$menue</a></p>";
    ?>


    PS: aus dem Doppelkreuz bitte noch Backslashes machen... das Forum entfernt die Backslashes wiedermal ;-)

    Grüßle



    Beitrag geändert: 19.9.2008 23:12:29 von scout
  6. <?
    foreach($rubriken as $index => $menue) {
    echo ($_GET['id']==$index)?'<p>' . $menue . '</p>':'<p><a href="?id=' . $index . '">' . $menue . '</a></p>';
    }?>


    Ungetestet, aber dreimal sauberer als dein Code.
    Nebenbei sollte er eignetlich so funktionieren, sofern $_GET['id'] wirklich $index entspricht.
  7. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    @adrians: GENIAL! Es funzt jetzt! Herzlichen Dank
    für die kompetente Hilfe!!!
    :thumb:
  8. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    @adrians:

    Wenn ich in deinen Code jetzt auch noch einbinden will,
    dass nicht nur die Verlinkung des gewählten Eintrags
    aussetzt, sondern der Eintrag auch rot erscheint,
    muss ich das dann so schreiben?

    <?
    foreach($rubriken as $index => $menue) {
    echo ($_GET['id']==$index)?'<p style="color:red">' . $menue . '</p>':'<p><a href="?id=' . $index . '">' . $menue . '</a></p>';
    }?>


    Edit: Natürlich mit BACKSLASH vor und nach \"color:red\"

    Funktioniert nämlich mit der Farbe nicht...


    Beitrag geändert: 20.9.2008 9:44:00 von waldorf


    Beitrag geändert: 20.9.2008 9:45:14 von waldorf


    Beitrag geändert: 20.9.2008 9:46:52 von waldorf
  9. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    @adrians: Mit der farblichen Hervorhebung der markierten
    Menüeinträge geht jetzt auch. Danke noch mal.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!