Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wielojęzyczne nested tree
fridge
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2008

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


Witam,
Obecnie tworzę wielojęzyczny sklep przy pomocy Zend Framework. Sklep powinien mieć kategorie produktów zrobione na nested tree. Jak efektywnie przedstawić wielojęzyczne nested tree w bazie danych?
czy coś takiego będzie dobre:

id | level | namePL | lftPL | rgtPL | nameEN | lftEN | rgtEN

przy dwóch językach to jeszcze jakoś wygląda ale jeżeli języków będzie 5-10 to zaczną się schody:]
jakie macie pomysły na wielojęzyczne kategorie sklepu internetowego?
jestem otwarty na propozycje winksmiley.jpg
Go to the top of the page
+Quote Post
lDoran
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

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


dla mnie to ta tabela jest mało logiczna, zrób produkt jego id i osobne tabele dla języków z id produktu
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Na prawdę potrzebujesz różnego ułożenia drzewa dla różnych wersji językowych? Jeżeli potrzebujesz posortować elementy w konkretnych gałęziach (np. alfabetycznie) zawsze możesz zrobić to już po wygenerowaniu drzewa.
2. Oczywiście tłumaczenia w osobnej tabeli i zwykła relacja jeden-do-wielu.
Go to the top of the page
+Quote Post
fridge
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2008

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


to jest tabela kategori produktów a nie samych produktów.

dla jasności algorytmu podaje linka na czym ów algorytm polega:
http://articles.sitepoint.com/article/hier...data-database/2

hmmm, też fakt. samo sortowanie najlepiej przeprowadzić w samej bazie? na bazach aż tak się nie znam:]
php chyba zbyt by obciążał serwer

w jaki sposób posortować to w bazie danych aby można było wyświetlić w kolejności alfabetycznej rozwinięte drzewo w formie listy?

ok mam tabelę:

kategorie:
id | lft |rgt | parent | namePL |nameEN

jak powinno wyglądać zapytanie aby wyświetlić poprawny alfabetyczny widok dla kolumny nazwaPL oraz nazwaEN. np:

root
-aaaa
--a
---alll
---caaa
---xaaa
--c
--x
-bbbb
--a
--c
--x
-cccc
--a
--c
--x
-zzzz



Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
php chyba zbyt by obciążał serwer
Chyba nie.
Cytat
w jaki sposób posortować to w bazie danych aby można było wyświetlić w kolejności alfabetycznej rozwinięte drzewo w formie listy?
Drzewko typu NestedSet ma to do siebie, że nie da się go sortować na poziomie bazy, ponieważ z tej trzeba wyciągnąć posortowane wg lewego klucza. Dane mogą być posortowane w bazie jedynie poprzez modyfikację lewych i prawych kluczy dla każdego elementu.

Innymi słowy: sortowanie najczęściej wykonuje się na już odpowiednio zbudowanym drzewie.
Cytat
id | lft |rgt | parent | namePL |nameEN
Już chyba napisałem, że tłumaczenia powinny być w osobnej tabeli.
Cytat
jak powinno wyglądać zapytanie aby wyświetlić poprawny alfabetyczny widok dla kolumny nazwaPL oraz nazwaEN. np:
Jeżeli to drzewko pobierasz sobie w normalnej formie (tj. hierarchicznej) to jego posortowanie ogranicza się do rekursywnego (ponieważ jest to tablica/obiekt wielowymiarowy) posortowania każdej z gałęzi.
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 Aktualny czas: 19.08.2025 - 07:38