Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z menu
wcg
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

Ostrzeżenie: (0%)
-----


Witam!
Na mojej stronie mam menu tworzone za pomoca rekordow pobieranych z bazy.
Chciałbym stworzyć do przy niektorych nazwach podmenu. Wymyśliłem, ze moge to zrobic a taki sposób:
Lista z menu głównym będzie miało dodatkowy parametr, który będzie identyfikował przypisane do menu pod menu. ($sub). I teraz jak nacisne na menu glowe chcialbym aby pod spodem wysliwtlio sie pod menu.


  1. <?php
  2. $sube = $_GET['sub'];
  3.  
  4. $wynik = mysql_query("SELECT * FROM menu WHERE akt_pl='1'");
  5. while ($aa = mysql_fetch_array($wynik)) { 
  6. $nazwa_pl = $aa['nazwa_pl'];
  7. $id = $aa['id'];
  8. $strona = $aa['strona'];
  9. $sub = $aa['sub'];
  10. print "<img src='images/bullet.gif' alt='' width='10' height='10'><a href='index.php?go=strona&id=$strona&sub=$sub'>$nazwa_pl</a><br>";
  11.  
  12.  $wynik1 = mysql_query("SELECT * FROM menu WHERE akt_pl='1' AND sub='$sube' ");
  13.  while ($aa1 = mysql_fetch_array($wynik1)) { 
  14.  $nazwa_pl1 = $aa['nazwa_pl'];
  15.  $id1 = $aa['id'];
  16.  $strona1 = $aa['strona'];
  17.  print "<img src='images/bullet.gif' alt='' width='10' height='10'><a href='index.php?go=strona&id=$strona'>$nazwa_pl1</a><br>";
  18.  }
  19. }
  20. ?>


Problem w tym wszystkim polega na tym, ze po nacisnieciu na dane menu podmenu wyswietla mi sie calkim pod wszytskimi rekordami a nie pod menu pod ktoreym jest przypisane.
Czy ktos wie jak temu zaradzić? Proszę o pomoc.

Ten post edytował wcg 2.10.2006, 13:16:16
Go to the top of the page
+Quote Post
wcg
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

Ostrzeżenie: (0%)
-----


Nie nie chodzi

Przy otwarciu strony jest tak

Strona główna
O nas
Oferta
Kontakt

Przy kliknieciu i jednoczesnie pobraniu danych z bazy chce zeby było tak:

Strona główna
O nas
O naszych klientach
Produkty
Oferta
Kontakt
Go to the top of the page
+Quote Post
sticker
post
Post #3





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


możesz od razu dać całe menu a to co nie chcesz pokazać ukryj stylami display: none i przy kliknięciu pokazuj wywołując akcję javascriptu zmieniające styl dla elementów które chcesz pokazać/ukryć
Go to the top of the page
+Quote Post
wcg
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.07.2006

Ostrzeżenie: (0%)
-----


Może jednak ktoś wie jak poprawić ten skrypt zeby nie uzywac JS. Myślę ze jest to do zrobienia. Chodzi tylko o przypisanie odpowiedniemu menu pod menu. Pomóżcie.
Go to the top of the page
+Quote Post
gszesiek
post
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 17.09.2006

Ostrzeżenie: (0%)
-----


chyba Cię źle zrozumiałem na początku
bo jak chcesz wysłać od razu całe menu, a schować część to bez problemu możesz wykorzystać css
Go to the top of the page
+Quote Post
Lonas
post
Post #6





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Też akurat sie tym zajmuje - rozwiazalem to tak :

menu_glowne.php

  1. <?
  2.  
  3.  
  4. $wynik_menu = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' AND master<>0 ORDER BY pozycja_menu asc ");
  5. $ilosc_pozycji = mysql_num_rows($wynik_menu);
  6.  
  7. for ($i=; $i<$ilosc_pozycji ; $i++) {
  8. $row = mysql_fetch_array($wynik_menu);
  9. $nazwa = $row['nazwa_1'];
  10. $master = $row['master'];
  11.  
  12.  
  13. echo'<a href = "index_sub.php?master='.$master.'"> '.$nazwa.' </a> <br> ';
  14.  
  15.  
  16.  
  17. }
  18.  
  19.  
  20. ?>


menu_sub.php

  1. <?
  2. $master_wybrane = $_GET['master'];
  3.  
  4. $all = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' ORDER BY pozycja_menu asc ");
  5. //$wynik_menu = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' AND master<>0 ORDER BY pozycja_menu asc ");
  6. $ilosc_pozycji = mysql_num_rows($all);
  7.  
  8. $wynik_podmenu = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' AND przynaleznosc = '$master' ORDER BY pozycja_menu asc ");
  9. $ilosc_pozycji_sub = mysql_num_rows($wynik_podmenu);
  10.  
  11. for ($i=; $i<$ilosc_pozycji ; $i++) {
  12. $row = mysql_fetch_array($all);
  13.  $nazwa = $row['nazwa_1'];
  14.  $master = $row['master'];
  15.  $przynaleznosc = $row['przynaleznosc'];
  16.  $id = $row['id'];
  17. if($master<>){
  18. echo'<a href = "index_sub.php?master='.$master.' "> '.$nazwa.' </a> <br> '; 
  19. }else {
  20.  
  21. for ($j=; $j<$ilosc_pozycji_sub ; $j++) {
  22.  $row_2 = mysql_fetch_array($wynik_podmenu);
  23.  $przynaleznosc_2 = $row_2['przynaleznosc'];
  24. if($przynaleznosc_2 == $master_wybrane) {
  25. print " - ";
  26. print $row_2['nazwa_1'];
  27. echo'<br>';} } }
  28.  
  29.  
  30.  
  31.  
  32.  
  33. }
  34. ?>


edit : jednak nie do konca dziala nie zauwazylem bledu - jak poprawie to wkleje dobry kod .

U mnie problem jest taki że wszystkie submenu pojawiaja sie zawsze pod 1 - tez nie wiem jak to ugrysc

Okej - tak dziala :

menu_glowne.php bez zmian

menu_sub.php

  1. <?
  2. $master_wybrane = $_GET['master'];
  3.  
  4.  
  5. $all = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' AND master <> 0 ORDER BY pozycja_menu asc ");
  6. $ilosc_pozycji = mysql_num_rows($all);
  7.  
  8.  
  9. $wynik_podmenu = mysql_query(" SELECT * FROM menu WHERE sekcja = 'menu_glowne' AND przynaleznosc= '$master_wybrane' ORDER BY pozycja_menu asc ");
  10. $ilosc_pozycji_sub = mysql_num_rows($wynik_podmenu);
  11.  
  12. for ($i=; $i<$ilosc_pozycji ; $i++) {
  13. $row = mysql_fetch_array($all);
  14.  $nazwa = $row['nazwa_1'];
  15.  $master = $row['master'];
  16.  $przynaleznosc = $row['przynaleznosc'];
  17.  $id = $row['id'];
  18.  
  19. echo'<a href = "index_sub.php?master='.$master.' "> '.$nazwa.' </a> <br> ';
  20.  
  21. if($master == $master_wybrane) {
  22.  for ($j=; $j<$ilosc_pozycji_sub ; $j++) {
  23.  $row_2 = mysql_fetch_array($wynik_podmenu);
  24. print " - ";
  25. print $row_2['nazwa_1'];
  26. echo'<br>';} }
  27. }
  28.  
  29.  
  30. ?>


Ten post edytował Lonas 3.10.2006, 10:26:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:40