Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 2.04.2009 Ostrzeżenie: (0%)
|
Witam,
Mam oto taki problem. Jest tabela, któa wygląda następująco: id, nazwa, pod, podnr Rerokrdy w tej tabeli to wpisy menu z dwoma poziomami. Pierwszy poziom wyglada następująco: id 1 nazwa JEDEN pod 0 podnr 1 - taki sam jak id Drugi poziom menu wygląda następująco: id 2 nazwa JEDEN.1 pod 1 podnr 1 Zaciągam więc z tabeli wyniki: Tak wygląda mój kod:
na czym polega problem. Otóż skrypt wykonuje pierwszą pętle while prawidłowo. Pokazuje wszystkie możliwe wyniki z tabeli, za to przy drugiej petli (tej pętli w pętli) pokazuje tylko jeden wynik, po prostu nie zapętla się tyle razy ile jest możliwych wyników w tabeli. Otrzymuje wynik taki: JEDEN jeden.1 DWA dwa.1 TRZY trzy.1 a chciałbym otrzymać: JEDEN jeden.1 jeden.2 jeden.3 DWA dwa.1 dwa.2 dwa.3 TRZY trzy.1 trzy.2 trzy.3 Będę wdzięczny za podpowiedź, co zrobić, żeby pętla druga zapętlała się tyle razy ile jest wyników w danej tabeli. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%)
|
rozumiem, że chodzi Ci o wielopoziomowe menu, w takim razie jest to problem drzewka kategorii, jest kilka rozwiązań na to np. drzewko lewo praw lub drzewko IP, ja osobiście polecam drzewko IP, aczkolwiek jeżeli jesteś bardzo początkujący to może Ci się to wydać za bardzo skomplikowane.
Jeżeli masz tylko 2 poziomy czyli tylko kategorie główne i podkategorie, to najprościej byłoby dodanie kolumny podkategorie w tabeli kategorie, i trzymać tam podkategorie w postaci zserializowanej tablicy, aczkolwiek takie rozwiązanie jest bardzo nieelastyczne i uniemożliwia wiele operacji mysql. |
|
|
|
glaacier [MySQL][PHP] Pętla w pętli 21.12.2010, 14:28:53
nospor Sposób w jaki to robisz jest bardzo nie optymalny.... 21.12.2010, 14:31:47
glaacier Niestety, nie do końca mi to pomogło, chociaż rozw... 21.12.2010, 15:11:16
nospor CytatOtóż, w twoim przykładzie (przykład 1.) wynik... 21.12.2010, 15:29:53
glaacier Cytat(nospor @ 21.12.2010, 15:29:53 )... 26.12.2010, 04:30:25 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 16:40 |