Hvordan lage flere språk forespørsler til MySQL med pHp

Innholdsfortegnelse
Et aspekt som må tas i betraktning er definere databasestrukturen riktig. Selv om det kan være forskjellige måter å lagre postene på, må vi se hvordan informasjonen skal struktureres, dette er det som kalles databasenormaliseringsprosessen, som er en studie av forholdet mellom tabellene. Det første vi må være klare om er at selv om vi har postene i databasen, vil det ikke bli utsatt for en spørringsbelastning, siden vi vil bruke MySQLs egen hurtigbuffer for å få bufret postene, la oss si at det ikke er fornuftig å skaffe navnet på en by i hver forespørsel hvis den alltid skal kalles den samme, det vil si at vi konfigurerer bufferstørrelsen vår basert på volumet som databasen vår kan generere. Hvis du vil endre hurtigbufferstørrelsen, må du bruke query_cache_size siden det er MySQL -variabelen som styrer den totale bufferstørrelsen.
Vi vil opprette forholdet mellom poster og InnoDB og bruk av utenlandske nøkler for å relatere tabeller, så for eksempel vil vi ha en tabell som heter Land, og et felt vil være språk -ID og en annen tabell med språkene med oversettelser vil være, denne siste tabellen vil være den som har postene som vil bli oversatt navn på landene på forskjellige språk.

Fra PHP Måten vi kontrollerer språket på er ved å bruke økter, i dette tilfellet lagrer vi post -ID -en for databasetabellen for å identifisere brukerens språk, vi kan gjøre det ved geolokalisering eller bruke et standard språk for nettet og deretter endrer brukeren det.
Vi legger inn en økt med språk -ID:
$ _SESSION ['languageid'] = 1 eller $ _SESSION ['languageid'] = 'es';

Takket være denne øktvariabelen, når vi spør etter databasen, vil vi bruke en WHERE -klausul som denne for å spørre postene i henhold til språket.
 Velg * fra land WHERE languageid = '". $ _ SESSION [' languageid ']."' Velg * fra Products WHERE languageid = '". $ _ SESSION [' languageid ']."' 

Basert på denne metoden må vi forberede designet vårt til å tilpasse seg språk, og skape hele designet for å godta dynamisk innhold. For eksempel i mysql for tittelen på siden vil vi ha et felt for hvert språk:
 tittel = dette er produktspråket mitt = er tittel = dette er produktspråket mitt = no 

Akkurat som mysql -spørringen bringer det definerte språket, kan vi generere innholdet.
For eksempel vil tittelen på siden se slik ut:

En også dynamisk lenke med det alternative attributtet:

Vi kan også gjøre det for forskjellige elementer på nettet, for eksempel knapper:

Dette tillater oss å abstrahere fra brukerens språk for å vise innhold tilpasset landet og til og med forskjellige seksjoner. I tillegg til Mysql kan den samme metoden brukes med tekst- eller xml -filer i henhold til behovene til hvert prosjekt.
wave wave wave wave wave