So erstellen Sie mit pHp . mehrsprachige Abfragen an MySQL

Inhaltsverzeichnis
Ein Aspekt, der berücksichtigt werden muss, ist die Datenbankstruktur richtig definieren. Obwohl es verschiedene Möglichkeiten zum Speichern der Datensätze geben kann, müssen wir sehen, wie die Informationen strukturiert werden sollten. Dies wird als Datenbanknormalisierungsprozess bezeichnet, der eine Untersuchung der Beziehungen zwischen den Tabellen ist. Das erste, was wir uns klar machen müssen, ist, dass selbst wenn wir die Datensätze in der Datenbank haben, es keine Abfragelast erleidet, da wir den MySQL-eigenen Cache verwenden, um die Datensätze zwischenzuspeichern, sagen wir, es macht keinen Sinn, ihn zu erhalten der Name einer Stadt in jeder Abfrage, wenn sie immer gleich genannt wird, d. h., wir konfigurieren unsere Cache-Größe basierend auf dem Volumen, das unsere Datenbank generieren kann. Wenn Sie die Cache-Größe ändern möchten, müssen Sie query_cache_size verwenden, da es die MySQL-Variable ist, die die gesamte Cache-Größe steuert.
Wir werden die Beziehung von Datensätzen mit erstellen InnoDB und die Verwendung von Fremdschlüsseln, um Tabellen zu verknüpfen, so haben wir zum Beispiel eine Tabelle mit dem Namen Länder und ein Feld ist die Sprach-ID und eine andere Tabelle mit den Sprachen mit Übersetzungen wird dies sein die zu übersetzenden Datensätze Namen der Länder in verschiedene Sprachen.

Aus PHP Wir steuern die Sprache mithilfe von Sitzungen. In diesem Fall speichern wir die Datensatz-ID der Datenbanktabelle, um die Sprache des Benutzers zu identifizieren, wir können dies durch Geolokalisierung tun oder eine Standardsprache für das Web verwenden und dann vom Benutzer ändern.
Wir legen eine Sitzung mit der Sprach-ID:
$ _SESSION ['languageid'] = 1 oder $ _SESSION ['languageid'] = 'es';

Dank dieser Sitzungsvariablen verwenden wir bei der Abfrage der Datenbank eine WHERE-Klausel wie diese, um die Datensätze entsprechend der Sprache abzufragen.
 Select * from Countries WHERE languageid = '". $ _ SESSION [' languageid ']."' Select * from Products WHERE languageid = '". $ _ SESSION [' languageid ']."' 

Basierend auf dieser Methode müssen wir unser Design so vorbereiten, dass es sich an Sprachen anpasst, und das gesamte Design erstellen, um dynamische Inhalte zu akzeptieren. Zum Beispiel haben wir in MySQL für den Titel der Seite ein Feld für jede Sprache:
 title = das ist meine Produktsprache = ist title = das ist meine Produktsprache = de 

So wie die MySQL-Abfrage die definierte Sprache bringt, können wir den Inhalt generieren.
Der Titel der Seite würde beispielsweise so aussehen:

Ein ebenfalls dynamischer Link mit dem alternativen Attribut:

Wir können dies auch für verschiedene Elemente des Webs tun, wie z. B. Schaltflächen:

Dies ermöglicht es uns, von der Sprache des Benutzers zu abstrahieren, um je nach Land und sogar verschiedenen Abschnitten angepasste Inhalte anzuzeigen. Zusätzlich zu Mysql kann dieselbe Methode mit Text- oder XML-Dateien entsprechend den Anforderungen jedes Projekts verwendet werden.
wave wave wave wave wave