Sådan opretter du forespørgsler på flere sprog til MySQL med pHp

Indholdsfortegnelse
Et aspekt, der skal tages i betragtning er definere databasestrukturen korrekt. Selvom der kan være forskellige måder at gemme posterne på, bliver vi nødt til at se, hvordan oplysningerne skal struktureres, det er det, der kaldes databasens normaliseringsproces, som er en undersøgelse af forholdene mellem tabellerne. Den første ting, vi skal være klare om, er, at selvom vi har posterne i databasen, vil den ikke lide en forespørgselsbelastning, da vi vil bruge MySQL's egen cache til at få posterne cachelagret, lad os sige, at det ikke giver mening at få navnet på en by i hver forespørgsel, hvis den altid vil blive kaldt den samme, det vil sige, at vi konfigurerer vores cachestørrelse baseret på den mængde, vores database kan generere. Hvis du vil ændre cachestørrelsen, skal du bruge query_cache_size, da det er MySQL -variablen, der styrer den samlede cachestørrelse.
Vi opretter forholdet mellem poster og InnoDB og brugen af ​​udenlandske nøgler til at relatere tabeller, så for eksempel vil vi have en tabel kaldet lande, og et felt vil være sprog -id og en anden tabel med sprogene med oversættelser vil være, denne sidste tabel vil være den, der har de optegnelser, der vil blive oversat navnene på landene på forskellige sprog.

Fra PHP Den måde, vi styrer sproget på, er ved hjælp af sessioner, i dette tilfælde gemmer vi database -tabelens post -id for at identificere brugerens sprog, vi kan gøre det ved geolocation eller bruge et standardsprog til internettet, og derefter ændrer brugeren det.
Vi afholder en session med sprog -id:
$ _SESSION ['languageid'] = 1 eller $ _SESSION ['languageid'] = 'es';

Takket være denne sessionsvariabel vil vi, når vi spørger i databasen, bruge en WHERE -klausul som denne til at forespørge posterne i henhold til sproget.
 Vælg * fra lande WHERE languageid = '". $ _ SESSION [' languageid ']."' Vælg * fra produkter WHERE languageid = '". $ _ SESSION [' languageid ']."' 

Baseret på denne metode skal vi forberede vores design til at tilpasse sig sprog, hvilket skaber hele designet til at acceptere dynamisk indhold. For eksempel i mysql for titlen på siden vil vi have et felt for hvert sprog:
 title = dette er mit produktsprog = er title = dette er mit produktsprog = da 

Ligesom mysql -forespørgslen bringer det definerede sprog, kan vi generere indholdet.
For eksempel vil sidens titel se sådan ud:

Et også dynamisk link med den alternative attribut:

Vi kan også gøre det for forskellige elementer på internettet såsom knapper:

Dette giver os mulighed for at abstrahere fra brugerens sprog for at vise indhold, der er tilpasset landet og endda forskellige sektioner. Ud over Mysql kan den samme metode bruges med tekst- eller xml -filer i henhold til behovene i hvert projekt.
wave wave wave wave wave