Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][CSS][MYSQL] pozycje menu pobierane z bazy danych
rivanel
post 3.04.2009, 14:49:33
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.02.2009

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


Witam,
zrodziła mi się taka kwestia: menu w css, czy da się zrobić menu które wartości pobierałoby z bazy danych? (z jednym poziomem submenu)
Kod
           id|pozycja |id_rodzica| nazwa | odnosnik
           -----------------------------------------
           1 |    1   | 2        |bla    | www....

etc.
gdzie
pozycja (kolejność od góry menu)
id_rodzica (0 dla niezagnieżdżonego, każde inne odnosi się jako submenu id pozycji leżącej na poziomie zagnieżdżenia 0 )
tak to sobie wyobrażam w teorii, ale jak wygenerować ciąg ul li odpowiadający pozycjom menu??
jakieś pomysły, sugestie, rozwiązania?
Pozdrawiam
Michał
Go to the top of the page
+Quote Post
kazag
post 3.04.2009, 18:32:47
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 12
Dołączył: 30.04.2007

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


  1. <?php
  2. echo "Menu<br/>";
  3. $sql=mysql_query("select * from menu where id_rodzica=0 order by pozycja");
  4.  
  5. while($row=mysql_fetch_assoc($sql))
  6. {
  7. //wyswietlasz pozycje
  8. echo "pozycja o nazwie:".$row['nazwa'];
  9.  
  10. //pobierasz jej dzieci
  11. $sql2=mysql_query("select * from menu where id_rodzica='$row['id']' order by pozycja");
  12.  
  13. //wyswietlasz dzieci
  14. while($row2=mysql_fetch_assoc($sql2))
  15. {
  16. echo "dziecko pozycji o nazwie:".$row2['nazwa'];
  17. }
  18. }
  19. ?>


z palca, działa?

Ten post edytował kazag 3.04.2009, 18:35:05


--------------------
Okoczia - jedyne w Polsce wirtualne państwo indiańskie.
kazag.net - i coś o mnie.
Go to the top of the page
+Quote Post
rivanel
post 3.04.2009, 20:28:42
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.02.2009

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


hmm, próbowałem ale dalej nie moge dojsc...
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users/zzppm/public_html/nowyprojekt/menu.php on line 23
to się odnosi do tego:
Kod
$sql2=mysql_query("select * from menu where id_rodzica='$row['id']' order by pozycja");

nie powinno być jakiegoś ifa?? if id_rodzica rozne od 0 to wtedy wyswietla.. odwolanie do id jest jakby nieużyteczne, całość opiera się na pozycji pod warunkiem ze id_rodzica=0 w innym wypadku pozycja mowi o pozycji w submenu...

muszę w końcu od zera zacząć się uczyć phpa bo to wszystko jest zabójczo logiczne tylko nie wiem jak to obrócić w słowa...
Go to the top of the page
+Quote Post
Lion_87
post 3.04.2009, 21:26:53
Post #4





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


Co do tego błedu to nie ' a " powinny być i dwie kropeczki

  1. <?php
  2. $sql2=mysql_query("select * from menu where id_rodzica=".$row['id']." order by pozycja");
  3. ?>
Go to the top of the page
+Quote Post
rivanel
post 4.04.2009, 20:02:47
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.02.2009

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


Parse error: syntax error, unexpected $end in /home/users/zzppm/public_html/nowyprojekt/menu.php on line 33
czyli linia zaraz za /html
Go to the top of the page
+Quote Post
megawebmaster
post 4.04.2009, 21:41:47
Post #6





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Gdzieś brakuje klamry zamykającej.
Teraz optymalizacyjne informacje - lepiej jest pobrać całe menu, ew. pewną ilość oczywiście idąc po menu głównych. No i dopiero w PHP je obrabiać, czyli np. utworzyć tablicę. No i ostatecznie - ten problem był wielokrotnie rozważany:
http://dev.mysql.com/tech-resources/articl...hical-data.html - nested sets
http://diabl0.gazeta.ie/2009/03/drzewo-depesza-w-mysql/ - drzewo Depesza
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 08:59