![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Właśnie muszę zrobić drzewko (kategorii) w mysql'u - i zastanawiam się "jak to się robi". Po krótkich przemyśleniach myślę, że należy zrobić tabelę typu: id, category, parent_category Gdzie "category" to nazwa kategorii a "parent_category" to rodzic. Dobrze sądzę? Czy może są lepsze koncepcje? Gdy już to zrobię, będę chciał wyświetlać artykuły w danej kategori, oraz "ścieżkę" tj. że dany artykuł jest w: kategoria/podkategoria/podpodkategoria. To dobrze myślę, że tabela winna wyglądać tak: "id, category, parent_category" ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 36 Dołączył: 31.03.2006 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Było już... np:
http://forum.php.pl/index.php?showtopic=72966 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Patrz powiem ci jak napisalem forum mysle ze tak jest najlatwiej i nawet w php-fusion tak robia
Kategoria ma w bazie wszystkie pola + cid(category id, index/auto_increment) i kategoria(nazwa kategorii) Temat ma wszystkie potrzebne ci kolumny + cid(id kategorii do ktorej nalezy temat) + kategoria(nazwa kategori) + tid(topic id, index/auto/increment) Post wszystkie potrzebne ci kolumny +cid+tid+pid(post id jak zawsze index/auto_increment ) i na ich podstawie zapisujesz/wyciagasz z bazy -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dużo lepszym rozwiązaniem jest Nested Set Model
A tu przykładowa implementacja: Implementing An N-Level Nested Tree In PHP And PostgreSQL |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Wam, teraz to wszystko poczytam
![]() Ten post edytował konrados 31.03.2008, 18:57:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:34 |