Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Budowa wielojęzycznego modułu news'ów
Forum PHP.pl > Forum > PHP
Skyline
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
starach
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ść ?
Skyline
Faktycznie smile.gif Super rozwiązanie, wielkie dzięki exclamation.gif!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.