Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Multilanguage database
nansss93
post 5.02.2016, 11:40:46
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


Witam,

Mam pewien problem z wymyśleniem struktury bazy danych.
Mianowicie piszę stronę, która będzie w 4 językach. Na ten moment na jeden język mam taką tabelę z podstronami:


  1. CREATE TABLE `page` (
  2. `pag_id` int(11) NOT NULL,
  3. `pag_name` varchar(255) COLLATE utf8_polish_ci NOT NULL,
  4. `pag_content` text COLLATE utf8_polish_ci NOT NULL,
  5. `pag_alias` varchar(255) COLLATE utf8_polish_ci NOT NULL,
  6. `pag_position` int(11) NOT NULL
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;


Pytanie brzmi czy dodawać pola, które chcę tłumaczyć: pag_name_pl, pag_name_en, pag_content_pl, pag_content_en? Czy rozwiązać to jakoś inaczej.
Dodam, też że to nie będzie jedyna tabela, z której dane potrzebuje w tych 4 językach.

Z góry dzięki za rady.
Go to the top of the page
+Quote Post
nospor
post 5.02.2016, 11:50:54
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodajesz pole na LANG i wiesz jakiego jezyka dotyczy dana tresc


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nansss93
post 5.02.2016, 11:54:03
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


Czyli rekordy będą wyglądały mniej więcej tak:

pag_id|pag_name|pag_content|pag_lang|pag_alias|pag_position
1|Nazwa|Treść|PL|nazwa|1
2|Name|Content|EN|name|1
itd, dla każdego języka i każdej podstrony?

Trochę to redundantne będzie happy.gif
Go to the top of the page
+Quote Post
nospor
post 5.02.2016, 12:00:18
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Gdzie tu masz redundancje? Z rekordow co pokazales to tylko pozycja sie powtarza


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nansss93
post 5.02.2016, 12:02:42
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


A ma to sens, żeby powtarzać praktycznie ten sam rekord?

Przypuśćmy, że będę miał 100 podstron i 20 języków, i już mamy 2000 rekordów.
Go to the top of the page
+Quote Post
nospor
post 5.02.2016, 12:11:01
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To albo chcesz miec kazdy rekord w innym jezyku albo nie... sie zdecyduj.

A jesli tabela zawiera wiele danych, ktore sie powtarzaja dla roznych jezykow, to rozbij te tabele na dwie tabela: TABELA ZE STALYMI DANYMi, TABELA Z TRESCIA W ROZNYCH JEZYKACH.
Wowczas dla roznych jezykow wypelniasz tylkoo druga tabele


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nansss93
post 5.02.2016, 12:13:06
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


Ok. Tego potrzebowałem smile.gif
Dzięki za podpowiedź smile.gif
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:23