Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dynamiczne menu, [JS] vs [AJAX]
eccocce
post 14.06.2011, 14:21:43
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Hej,
Mam na stronie dynamiczne menu składające się z 3 selectów:
1) wybór kategorii
2) wybór podkategorii
3) wybór działu

Na początku tylko select 1 zawiera dane, jeśli coś wybierzemy od razu select 2 wypełnia się danymi, jeśli coś wybierzemy to zapełnia się lista 3. Wybór pozycji z selecta 3 przenosi nas na odpowiednią stronę.

Całość zrobiłem na bazie JS (aktualizowanie selectów).

Okazało się, że dane w selectach będą się czasem zmieniać i jest do tego odpowiedni panel, który umieszcza dane w bazie MySQL a na koniec generuję nowe pliki js.

Jakie są minusy takiego rozwiązania?
- użytkownik musi odświeżyć stronę, aby pobrać nowe pliki JS inaczej będzie nadal widział stare pozycje na listach
- generowanie nowych plików JS

Rozwiązanie numer 2, którego używam w panelu do dodawanie/edytowania pozycji z menu, opiera się na AJAX'ie, tzn. Zmienia się select 1, idzie zapytanie do pliku ajax.php, pobieram z bazy odpowiednie podkategorie, wysyłam do klienta, aktualizuję selecta 2 przy użyciu JS itd.

Minusy:
- duża liczba zapytań do bazy

Plusy:
- użytkownik zawsze dostaje aktualną listę (nie trzeba się martwić, że nadal ma starą listę)

-------------------

Co myślicie na ten temat? Który sposób jest lepszy na dynamiczne menu? Jak to robicie u siebie?

Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mat-bi
post 14.06.2011, 14:23:13
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Ja bym użył po prostu AJAX - jak dobrze wszstko dasz, duża ilość zapytań nie będzie taka straszna.
Go to the top of the page
+Quote Post
erix
post 14.06.2011, 14:31:46
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Minusy:
- duża liczba zapytań do bazy

o cache, to słyszał?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
eccocce
post 14.06.2011, 17:31:39
Post #4





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Słyszał, słyszał, ale się nie interesował tongue.gif Jak widzę to cudo działa w MySQL domyślnie... Da się jakoś sprawdzić, kiedy SELECT jest odczytywany z cache, a kiedy prosto z tabeli? Z tego co czytam cache dla danej tabeli jest opróżniany za każdym razem, gdy wykonamy na tej tabeli INSERT, DELETE, UPDATE (czyli jakąś formę zapisu). Faktycznie, jeśli będzie to działać sprawnie, to po cholerę męczyć się z generowaniem nowych plików JS...
Go to the top of the page
+Quote Post
erix
post 14.06.2011, 17:52:19
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jak widzę to cudo działa w MySQL domyślnie...

Ten cache jest taki, jakby go nie było: nie masz nad nim żadnej kontroli.

http://eriz.pcinside.pl/weblog/cache-danyc...teoria-211.html


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Crozin
post 14.06.2011, 18:04:32
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Daruj sobie AJAX-a tutaj bo jedynie spowolni on działanie całości. Chyba, że tych kategorii masz kilka tysięcy lub więcej.

Cytat
Jakie są minusy takiego rozwiązania?
- użytkownik musi odświeżyć stronę, aby pobrać nowe pliki JS inaczej będzie nadal widział stare pozycje na listach
Wystarczy dodać do URL-a czas ostatniej modyfikacji i już problem rozwiązany.
Cytat
- generowanie nowych plików JS
Przecież możesz stary nadpisać.

Ten post edytował Crozin 14.06.2011, 18:05:32
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:20