Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax, php] Przelaczane banery, Teoria i rozumowanie
soska66
post 29.08.2007, 19:32:22
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 1
Dołączył: 3.02.2005

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


Witam

W temacie Ajax'a dopiero raczkuje dlatego w czasie konstruowania kodu wciaz kieruje sie filozofia php smile.gif

Dzis kombinowalem taka rzecz.
W ramce pojawia sie banner, na ktory mozna kliknac zeby przejsc na strone, ktorej ten baner dotyczy. Obrazek banera oraz link jest pobierany z bany danych mysql. No i zachialo mi sie dolozyc strzalki (lewo/prawo) dzieki ktorym mozna bez przeladowywania przerzucac te banery w obrebie tej ramki (podobnie jak 'headlines' na stronie glownej Wirtualnej Polski)

Zrobilem to Ajaxem i dziala... ale interesuje mnie czy wogole Ajaxem i czy mozna to zrobic wydajniej

Jak to smiga
Jest index.php, ktory laduje skrypty js i ajax. Powiedzmy, ze na stronie jest domyslnie wyswietlny baner numer 5. Po kliknieciu ktorejs ze strzalek (w celu zmiany banera w tyl/w przod), ajax laduje strone baner.php z parametrem bedacym numerem banera, np. banerid=6. W baner.php nastepuje polaczenie z baza danych i pobranie obrazka o id=6 i przypisanego do niego linka. Jesli nie ma takiego banerid (np podano argument banerid=0) domyslnie zostanie pobrany baner o id=1. Nastepnie kontstruowana jest zmienna $output, ktora zawiera tag <a> i <img> i za pomoca ajaxa zostaje to wyswietlone w div'ie

No wiec.... Jak widac, ajax wykonuje kod php (polaczenie z baza i pobor danych w postaci obrazka i linka) za kazdym razem gdy przelaczymy baner (klikniemy w strzalke). Powoduje to, ze w sytuacji np chwilowego zatkania lacza, obrazek jest dogrywany, co nie wyglada zbyt estetycznie (widac przez ulamek sekundy biale pole, ktore dopiero po chwili zostaje wypelnione obrazkiem). Stad pytanie, czy to wogole tak powinno zostac zrobione. Moze przy okazji AJax'a, powstaly inne metody rozwiazania takiego, lub podobnego problemu.

Myslalem na poczatku czy by nei pominac Ajaxa i nie zaladowac banerow i linkow do tablicy w php, a potem przeniesc ta tablice do js. Tak zeby w czasie nawigacji banery byly juz wgrane do tablicy zmiennych js i nie musialy byc dogrywane. Ale po pierwsze nie wiem czy to wlasnie tak by dzialalo, a po drugie, nawet jesliby dzialalo, to czy jest to lepsze wyjscie

Dodatkowo chce zostawic sobie mozliwosc pobrania ewetualnych dodatkowych danych, jak np krotki opis strony, ktorej baner dotyczy itp.

Bede wdzieczny za sugestie i porady. Kodu nie wklejam bo istota tematu jest bardziej teoria niz konkretne zagwostki kodowania smile.gif

Pozdrawiam

Ten post edytował soska66 29.08.2007, 19:37:00
Go to the top of the page
+Quote Post
qqrq
post 30.08.2007, 16:47:26
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


Ja powiem szczerze zawsze unikam AJAX-a kiedy mogę, więc zrobiłbym to w JS. A czy będzie szybciej... Strona będzie się trochę wolniej wczytywać (zwłaszcza gdy bannerów jest dużo) - ale minimalnie, ale przełączanie banerów powinno chodzić szybciej (ale też raczej minimalnie)...


--------------------
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: 13.08.2025 - 22:52