Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Budowa wielojęzycznego modułu news'ów
Skyline
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 25.07.2007

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


Witam

Jestem obecnie w trakcie pisania klasy do zarządzania news'ami. Założenie jest takie, iż newsy mogą być w wielu wersjach językowych a dany news może (ale nie musi) mieć swój odpowiednik w innej wersji językowej.

Jezeli ktos na stronie bedzie czytal news np w jezyku polskim i przelaczy sie na wersje np angielską wowczas system musi sprawdzić czy dany news polski, posiada swoj odpowiednik w wersji angielskiej, jesli tak wyswietlic go, jesli nie, wyswietlic liste newsow w danym jezyku.

Borykam się z problemem, jak zaprojektowac tabele w bazie danych.

W chwilii obecnej mam tak:

tabela `languages` id | name | code np. 1 | Polski | pl

tabela `news` id | title | short_desc | long_desc | lang_code | odpowiedniki | np. 3 | Tytuł newsa | Krótki opis | Długi opis | pl | <odpowiedniki>

W miejscu <odpowiedniki> mam zserializowane tablice w postaci:
[3] = array
{
[0] = array
{ 'id' => 8
'lang' => de
}
[1] = array
{ 'id' => 9
'lang' => ru
}
}

Dzieki czemu wiem, ze news o ID = 3 ma odpowiedniki o ID 8 w wersji jezykowej de, ID 9 w wersji jezykowej ru.
Jest to działające poprawnie rozwiazanie, do momentu kiedy strona jest w np 6 jezykach. Gdy dodaje news w kolejnej wersji jezykowej np w szóstej, to musze zrobić update pięciu pól "odpowiedniki".

Czy ktoś z was, ma jakiś pomysł jak inaczej stworzyc takie rozwiazanie?

Pozdrawiam
Go to the top of the page
+Quote Post
starach
post
Post #2





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


A nie możesz zrobić dodatkowej kolumny typu Integer, w której wszystkie wpisy traktujące o tym samym będą miały tą samą wartość ?
Go to the top of the page
+Quote Post
Skyline
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 25.07.2007

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


Faktycznie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Super rozwiązanie, wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 14:22