Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Menu z podświetleniem na wybranej kategorii
Forum PHP.pl > Forum > PHP
krzysiekj
Proste tekstowe menu w PHP/HTML.

LINK1 LINK2 LINK3 LINK4

Jak zrobić, żeby po kliknięciu w np. LINK2 ten link zmienił kolor dopóki będziemy na tej podstronie. Czyli coś w formie zakładek. Jesli jesteśmy na LINK3 to LINK3 ma inny kolor niż pozostałe linki.

teraz potrzebuję do tekstowego menu, ale jak to się ma dodatkowo do menu na obrazkach?

Z góry dzieki za podpowiedzi
Pilsener
Normalnie, jak masz w bazie spis kategorii w rodzaju:

ID|Nazwa|Opis|Title||Inne

A linki zrobione na zasadzie:
strona.pl?kat=123

To dajesz do pętli która generuje menu z bazy:
  1. <?php
  2. while($dane = mysql_fetch_assoc($zapytanie_z_bazy_mysql)){
  3.   if($_GET['kat']==$dane['ID']){$klasa = ' class="aktywna_strona"';}else{$klasa = '';}
  4.   $li .= '<li'.$klasa.'><a href="'.$dane['ID'].'">'.$dane['Nazwa'].'</a></li>';
  5. }
  6. echo '<ul>'.$li.'</ul>';
  7. ?>


...warunek, który sprawdza, czy ID kategorii równy jest ID pozycji w menu, jeśli tak to element menu dostaje odpowiednią klasę, dzięki której można modyfikować wygląd elementu. Jeśli chcesz zbudować menu na obrazkach to najlepiej każdemu <li> nadać inny identyfikator.
krzysiekj
Cytat(Pilsener @ 19.05.2009, 13:08:24 ) *
Normalnie, jak masz w bazie spis kategorii w rodzaju:

ID|Nazwa|Opis|Title||Inne

A linki zrobione na zasadzie:
strona.pl?kat=123

To dajesz do pętli która generuje menu z bazy:
  1. <?php
  2. while($dane = mysql_fetch_assoc($zapytanie_z_bazy_mysql)){
  3.   if($_GET['kat']==$dane['ID']){$klasa = ' class="aktywna_strona"';}else{$klasa = '';}
  4.   $li .= '<li'.$klasa.'><a href="'.$dane['ID'].'">'.$dane['Nazwa'].'</a></li>';
  5. }
  6. echo '<ul>'.$li.'</ul>';
  7. ?>


...warunek, który sprawdza, czy ID kategorii równy jest ID pozycji w menu, jeśli tak to element menu dostaje odpowiednią klasę, dzięki której można modyfikować wygląd elementu. Jeśli chcesz zbudować menu na obrazkach to najlepiej każdemu <li> nadać inny identyfikator.


Rozumiem. Jest to jednak mega prosta i banalna strona informacyjna i nie ma sensu wykorzystywać mysql. Chodziło mi o coś w php
erix
A co Ci szkodzi użyć np. SQLite....?

Poza tym, możesz zrobić tak samo i na plikach; zmieniasz tylko funkcje odczytujące dane ze strumienia/pliku, explode" title="Zobacz w manualu PHP" target="_manual i zamiast indeksów asocjacyjnych w tablicach, jedziesz po liczbowych. ;]
tanwel_programmer
Poco ma się męczyć z SQL'em skoro ma to być mała stronka. moim zdaniem najlepiej wrzucić menu w tablice. bez grzebania w plikach, bazie itp.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.