Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] jak zrobić cache do listy rozwijanej?
skleps
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Zawartość tabeli A wyświetlam jako lista rozwijana <select>, wszystko oczywiście generowane w php.
Zawartość tej tabeli prawie że się nie zmienia więc aż się prosi o robienie jakiegoś cache, żeby nie obciążać bazy danych tym samym zapytaniem.
Zrobienie takiego cache to banał.

Problem robi się, gdy User zaznaczy w liście rozwijanej np. opcję 3 i trzymamy ten wybór w zmiennej sesyjnej. Później ta opcja powinna być automagicznie ustawiona przez całe jego chodzenie po serwisie, dopóki nie zmieni sobie (czyli chodzi o to, ze któraś opcja musi być selected).
Problem w tym, że jeśli zapiszemy do pliku cache ten wybór, to wszystkim innym internautom też będzie się automagicznie wybierałą opcja 3.

Ja wykoncypowałem 2 wyjścia i oba mi się nie podobają:

1. robimy kilka plików cache - jeden dla listy z niewybraną żadną opcją i po jednym dla każdej wybranej opcji
2. robimy pliki cache i wiążemy te pliki z danym internautą przez np. jakiś identyfukator przechowywany w sesji.

Czy jest jakaś inna, łatwiejsza i przyjemniejsza metoda obejścia problemu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Przykladowa zawartosc pliku cache

  1. a:2:{i:0;a:7:{s:2:"id";s:1:"3";s:15:"object_group_id";s:1:"2";s:5:"width";s:1:"1";s:6:"height";s:1:"1";s:8:"width_px";s:2:"31";s:9:"height_px";s:2:"19";s:4:"name";s:5:"Ulica";}i:1;a:7:{s:2:"id";s:1:"5";s:15:"object_group_id";s:1:"3";s:5:"width";s:1:"3";s:6:"height";s:1:"2";s:8:"width_px";s:2:"76";s:9:"height_px";s:3:"136";s:4:"name";s:4:"Blok";}}
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 22:01