![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 26.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam skrypt, który ładuje listę towarów z pliku, porównuje je z bazą i aktualizuje ceny, ale taki proces zajmuje trochę czasu. Mam pytanie czy da rade zrobić jakiś pasek postępu na stroonie?? jeśli nie to w jakim języku lepiej to zrobić (c++ lub java) ![]() pozdrawiam -------------------- Dariusz Raczkowski
www.atrium-pc.pl www.e-pozyczka.one.pl |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 30 Dołączył: 5.05.2007 Skąd: Mannheim Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy pomysl jaki przyszedl mi do glowy to dwa uruchamiane jednym kliknieciem Ajaxy.
Generujesz na stronie glownej unikalny id ktory bedzie potrzebny do jakiejs komunikacji miedzy dwoma procesami Pierwszy proces uruchamia w tle ladowanie listy towarow ( zeby przegladarka miala jakis kontakt ze swiatem ![]() -najpierw zczytujesz counter twojej listy towarow -uruchmiasz mechanizm kontrolujacy postep ladowania listy (np. memcache) w ktorym zapamietujesz unikalny id i counter -podczas ladowania listy po wykonaniu kazdej petli inkrementujesz swoja informacje o postepie Drugi proces (a wlasciwie procesy) lacza sie z memcache odczytujac staly counter i aktualna informacje o postepie (no wlasnie wtedy moze przydac sie unikalny id do szukania interesujacej cie pary counter - postep) Te procesy uruchamiasz jakims setInterval Opakowujesz jakos request z serwera ( np w XML czy JSON ) i liczysz sobie proporcje onSuccess laczysz ze skrypcikiem malujacym twoj progres Pierwszy proces konczysz po zaladowaniu calej listy jakims response Drugiego ajaxa konczysz jezeli stosunek countera i postepu = 1 Czyscisz memcache Idziesz na piwo ![]() -------------------- Flash Flex PHP JAVA RED5 http://www.easyweb24.net
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Albo... robisz tak:
1. przetwarzasz sobie rekordy i np co piąty rekord (żeby nie obciążać zbytnio serwera) zapisujesz w jakimś miejscu, nazwijmy je TMP, może to być plik, lub baza danych, numer przerabianego rekordu a ostatni rekord oznaczasz w jakiś konkretny sposób żeby było wiadomo że już koniec. W tym samym czasie na stronie działa skrypt JS który za pomocą AJAX'a czyta Ci np co 1s. wartość TMP i wpisuje ją w element z odpowiednim id do póki nie przeczyta że to już koniec (dlatego musisz odpowiednio oznaczyć zakończenie) i... Idziesz na piwo ![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 26.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzięki, no to pora na naukę ajaxa
![]() -------------------- Dariusz Raczkowski
www.atrium-pc.pl www.e-pozyczka.one.pl |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 295 Pomógł: 9 Dołączył: 8.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie nie...ty ustalasz gdzie się wyświetla
robisz na stronie Kod <div id='myDivElement' /> potem w kodzie pliku *.js odwołujesz się bezpośrednio do myDivElement...teraz nie mogę sobie przypomnieć jak. Ale jak zagłebisz się w AJAX`a to się tego nauczysz ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 26.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzieki za pomoc, teraz mam problem z ajaxiem ale to juz inny dzial;)
pozdrawiam -------------------- Dariusz Raczkowski
www.atrium-pc.pl www.e-pozyczka.one.pl |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
nie nie...ty ustalasz gdzie się wyświetla robisz na stronie Kod <div id='myDivElement' /> potem w kodzie pliku *.js odwołujesz się bezpośrednio do myDivElement...teraz nie mogę sobie przypomnieć jak. Ale jak zagłebisz się w AJAX`a to się tego nauczysz ![]() Kod document.getElementById('myDivElement').innerHTML = text; Takich rzeczy sie nie zapomina ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 09:50 |