![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
Witam serdecznie,
Mam takie pytanko, mam takie tabele:
chciałbym w zbudować menu na zasadzie: - kategoria -- podkategorie --- podpodkategorie Czy da się to jakoś w 1 zapytaniu wyświetlić? Ew. w php? Próbowalem czymś takim:
Problem w tym, że w wyniku działania tego skryptu otrzymuję: Kategoria - podpodkategoria 1 - podkategoria 1 - podpodkategoria 1 - podkategoria 2 Czyli nie dość że nie wyświetla w poprawnej kolejności, to jeszcze powiela podpodkategorie ![]() Ma ktoś pomysł na to może? Northwest |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Zainteresuj sie relacjami JOIN w MYSQL.
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
tzn próbowałem z takim zapytaniem:
SELECT * FROM cms_kategorie A INNER JOIN cms_podkategorie C ON A.podkategoria = C.bf_id INNER JOIN cms_podpodkategorie D ON A.podpodkategoria = D.bf_id ORDER by A.kategoria, A.podkategoria, A.podpodkategoria ASC tylko nie wiem jak to skleić w całość ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Bazy danych SQL nie są najlepsze w przechowywaniu danych zorganizowanych hierarchicznie.
Dużo lepiej nadaje się do tego XML ;p |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Najlepszym nie, ale jeśli chodzi o menu to nie ma z tym żadnego problemu. Tylko że nie w taki sposób jak to próbuje northwest, co się stanie gdy dojdzie 4 poziom, dodać podpodpodkategoria ? raczej nie.
Najłatwiejszym sposobem jest to -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
te "drzewka" znam
![]() ![]() ![]() da się to jakoś w tej chwili postawić żeby działało poprawnie? macie może jakiś pomysł? ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Piszesz że na początku były 2 tabele to znaczy że pole podkategoria dla tabeli cms_podkategorie zostało dodane ?
W tej chwili układ nie ma sensu między tabelą cms_kategorię a cms_podkategorię jest relacja 1:n a między tabelą cmd_podkategoria a cms_podpodkategoria n:1, chyba powinno być 1:n, wtedy wykonując join na tych tabelach zaczynając od cms_lategoria, cms_podkategoria i cms_podpodkategoria uzyskasz rekordy w których wystarczy iterować (w php) po danym poziomie i uzyskać dostęp do każdego rekordu. Ten post edytował toffiak 5.03.2012, 20:29:35 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
no własnie
![]() ![]() Czysto z mysql sie nie da? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:22 |