Kā izveidot vairāku valodu vaicājumus MySQL, izmantojot pHp

Satura rādītājs
Viens aspekts, kas jāņem vērā, ir pareizi definēt datu bāzes struktūru. Lai gan var būt dažādi ierakstu saglabāšanas veidi, mums būs jāredz, kā informācija būtu jāstrukturē, tas ir tas, ko sauc par datu bāzes normalizācijas procesu, kas ir tabulu attiecību izpēte. Pirmā lieta, kas mums ir jāprecizē, ir tā, ka pat tad, ja mums ir ieraksti datu bāzē, tā necietīs vaicājumu, jo mēs izmantosim MySQL kešatmiņu, lai ieraksti tiktu saglabāti kešatmiņā, pieņemsim, ka nav jēgas iegūt pilsētas nosaukums katrā vaicājumā, ja tas vienmēr tiks saukts vienādi, tas ir, mēs konfigurēsim kešatmiņas lielumu, pamatojoties uz apjomu, ko var izveidot mūsu datu bāze. Ja vēlaties mainīt kešatmiņas lielumu, jāizmanto query_cache_size, jo kopējo kešatmiņas lielumu kontrolē mainīgais MySQL.
Mēs izveidosim ierakstu attiecības ar InnoDB un ārējo atslēgu izmantošana tabulu saistīšanai, piemēram, mums būs tabula ar nosaukumu Valstis, un lauks būs valodas ID, un cita tabula ar valodām ar tulkojumiem būs šī pēdējā tabula. ieraksti, kas tiks tulkoti valstu nosaukumi dažādās valodās.

No PHP Valoda tiek kontrolēta, izmantojot sesijas, šajā gadījumā mēs saglabājam datu bāzes tabulas ieraksta ID, lai identificētu lietotāja valodu, mēs to varam izdarīt, izmantojot ģeogrāfisko atrašanās vietu vai izmantojot tīmeklim noklusējuma valodu, un pēc tam lietotājs to maina.
Mēs ievietojām sesiju ar valodas ID:
$ _SESSION ['languageid'] = 1 vai $ _SESSION ['languageid'] = 'es';

Pateicoties šim sesijas mainīgajam, vaicājot datu bāzi, mēs izmantosim šādu WHERE klauzulu, lai vaicātu ierakstiem atbilstoši valodai.
 Atlasiet * no valstīm WHERE languageid = '". $ _ SESSION [' languageid ']." "Izvēlieties * no produktiem WHERE languageid ='". $ _ SESSION ['languageid']. "' 

Pamatojoties uz šo metodi, mums ir jāsagatavo mūsu dizains, lai pielāgotos valodām, izveidojot visu dizainu, lai pieņemtu dinamisku saturu. Piemēram, mysql lapas nosaukumam mums būs lauks katrai valodai:
 title = šī ir mana produkta valoda = is title = šī ir mana produkta valoda = lv 

Tāpat kā mysql vaicājums nodrošina definēto valodu, mēs varam ģenerēt saturu.
Piemēram, lapas nosaukums izskatās šādi:

Arī dinamiska saite ar alternatīvo atribūtu:

Mēs varam to darīt arī dažādiem tīmekļa elementiem, piemēram, pogām:

Tas ļauj mums abstrahēties no lietotāja valodas, lai parādītu saturu, kas pielāgots atbilstoši valstij un pat dažādām sadaļām. Papildus Mysql to pašu metodi var izmantot ar teksta vai xml failiem atbilstoši katra projekta vajadzībām.
wave wave wave wave wave