webForumDet fria alternativet

Översätta kundvagn

Webbutveckling

6 svar · 509 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Jag bygger en webbshop där jag sparar besökarens kundvagn i sessionen. I dagsläget lagrar jag varans id, namn och pris.

Användaren kan växla språk (mellan svenska och engelska) men informationen i sessionen uppdateras ju inte då vilket gör att kundvagnen fortfarande är kvar på originalspråket.

Jag har kommit fram till tre lösningar.

1. Lagra både den svenska och engelska informationen i sessionen.
- Bökigt om man skulle lägg till fler språk så småningom.

2. Bara lagra id i sessionen och sedan hämta övrig information från databasen varje gång kundvagnen visas.
- Onödig databastrafik (eftersom kundvagnen visas på alla sidor)

3. Bygga en funktion som översätter informationen i sessionen varje gång man byter språk.

Vilket tycker ni verkar bäst? Finns det något annat sätt?

Medlem sedan juni 20034 013 inlägg
#2

Jag skulle välja 2. Att göra en enkel SELECT * FROM tabell WHERE id IN () belastar inte databasen så mycket. Det är om du skulle göra en massa joins och sökningar i icke-indexerade kolumner som man kan börja prata om att det blir onödig databastrafik.

Medlem sedan apr. 20007 588 inlägg
#3

tydal skrev:

Jag skulle välja 2. Att göra en enkel SELECT * FROM tabell WHERE id IN () belastar inte databasen så mycket. Det är om du skulle göra en massa joins och sökningar i icke-indexerade kolumner som man kan börja prata om att det blir onödig databastrafik.

Jag håller med, en modern databas klarar väldigt mycket. Det är också fördelaktigt att inte lagra stora objekt i sessionen.

Medlem sedan feb. 20032 532 inlägg
#4

Jag kan inte hjälpa dig men OM det nu är sidan som du hade under Kolla min hemsida, den med BellaSara så har jag en liten undring som man kanske ska ta hänsyn till.

Visas inte kundvagnen hela tiden och frågas inte databasen då hela tiden? Har noll koll på detta men om man har en kundvagn på separat sida så görs ju en sökning då.

Medlem sedan nov. 20041 740 inlägg
#5

Av de alternativ du presenterar är nummer två att föredra.

Medlem sedan nov. 200013 890 inlägg
#6

Jerpa skrev:

Visas inte kundvagnen hela tiden och frågas inte databasen då hela tiden?

Ja, det är den sidan och kravet är att man skall kunna se kundvagnen hela tiden.

På era svar låter det som att jag kör på variant 2.

Men har inte variant 3 vissa fördelar? Jag gissar att det är ganska sällan som en användare byter språk och med denna lösning så blir det ju bara extra arbete precis när man byter språk.

Medlem sedan mars 20007 896 inlägg
#7

sgtpepper's svar är det bästa, och bör markeras som accepterat svar. Lagra inte för mycket information i sessionen, id-nummer räcker, och hämta namn och beskrivning från databasen. Det är en försumbar prestandaförlust att göra en sådan select-sats från databasen.

246 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)