Hallo Leute,
ich habe eine Länderliste mit allen Ländern der Erde, die momentan wie folgt aufgebaut ist:
Also müsste ich für jede Sprache eine neue Spalte einfügen um den Ländernamen in der jeweiligen Sprache zu speichern.
Der PHP-Code dazu ist natürlich auch etwas blöd:
Meine Frage ist jetzt, wie ihr das machen würdet. Da ja die restlichen Werte außer dem Namen immer gleich sind, macht es ja eigentlich auch keinen Sinn eine Spalte language einzufügen und für jede sprache das land einzufügen. Außerdem entspricht die Tabelle ja dann nicht mehr der 4. Normalform.
Man könnte natürlich noch eine Tabelle countryNames erstellen und, die beiden Tabellen verknüpfen.
Aber dann wird es meiner Meinung nach unübersichtlich, da ich das Ganze noch mit anderen Tabellen machen muss oder was haltet ihr davon?
Ich freue mich über eure Meinungen.
mfg
Tobby
ich habe eine Länderliste mit allen Ländern der Erde, die momentan wie folgt aufgebaut ist:
Code:
CREATE TABLE IF NOT EXISTS `countries` ( `countryID` int(3) unsigned NOT NULL auto_increment, `country_de` varchar(100) NOT NULL, `country_en` varchar(100) NOT NULL, `country_fr` varchar(100) NOT NULL, `continentID` int(2) unsigned NOT NULL, `capital` varchar(100) NOT NULL, `area` int(10) unsigned NOT NULL, `population` int(8) unsigned NOT NULL, PRIMARY KEY (`countryID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Der PHP-Code dazu ist natürlich auch etwas blöd:
PHP-Code:
$result = mysql_query("SELECT * FROM countries WHERE countryID = 1");
$countryData = mysql_fetch_assoc($result);
$countryName = $countryData['country_'.$lang->getLanguage()];
Man könnte natürlich noch eine Tabelle countryNames erstellen und, die beiden Tabellen verknüpfen.
Aber dann wird es meiner Meinung nach unübersichtlich, da ich das Ganze noch mit anderen Tabellen machen muss oder was haltet ihr davon?
Ich freue mich über eure Meinungen.
mfg
Tobby
Kommentar