Eerder heb ik hier een topic geplaatst met een vrij ingewikkeld database ontwerp. Hierin zei ik dat het ook meertalig is en zei heel stoer dat dat geen probleem zou opleveren.
Helaas, doet dit het dus wel.
Ik heb 2 tabellen (even kort)
table content heeft de volgende velden
id
lang_id
content
table languages heeft de volgende velden
id
name
abbr (afkorting van afkorting)
Waarbij lang_id natuurlijk refereerd aan languages.id
Nu wil het zo backend users kunnen content toevoegen. Dit zullen ze in eerste instantie doen in default taal (laten we dat record 1 - english - en, noemen) daarna kunnen ze als ze willen een vertaling toevoegen (bijv. nederlands), nu kan ik natuurlijk een query schrijven a la:
SELECT content.content
FROM content
WHERE lang_id IN
(SELECT id FROM languages WHERE languages.abbr = $GLOBALS['lang_abbr'])
Er van uitgaande dat $GLOBALS['lang_abbr'] de juiste taalafkorting bevat.
Maar nu komt mijn probleem, ik wil dat als de bezoeker bijvoorbeeld in het Nederlands mijn site bezoekt en een content item aanroept die er alleen in het Engels is moet deze toch worden getoont...
Hoe los ik dat op in 1 query?
Ik draai MySQL 5.0 met InnoDB
Alvast bedankt!
Een vriendelijke groet,
Jason