Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax, php] Przelaczane banery
Forum PHP.pl > Forum > XML, AJAX
soska66
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
qqrq
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)...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.