Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [ajax], pasek postępu
Cezar708
post
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Witam,

mam do wykonania pasek postępu. Ma się pojawić po wysłaniu formularza poprzez AJAX. Na serwerze wykonują się zapytania do bazy, jest ich strasznie dużo, więc trochę to potrwa. Niestety nie mam dobrego pomysłu jak taki pasek postępu wykonać. A tak naprawdę nie wiem jak ściągać postęp *wynik procentowy) z serwera.

na początku wykonywania skryptu obsługującego formatkę sprawdzam ile będzie w sumie zapytań (wz - akurat dość łatwo to obliczyć). Następnie za każdym razem gdy kolejne zapytanie jest wykonane zwiększam licznik wykonanych zapytań (z).

następnie wg wzoru:

Cytat
wynik [%] = round( z/wz * 100);


obliczam progres. Następnie ten wynik chciałem skądyś ściągnąć tylko, że nie mam pojęcia jak (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

oto jak próbowałem:

1. Za pomocą AJAXa próbowałem ściągnąć wartość wyniku z sesji. Ale chyba dwa procesy nie mają dostęp do tego samego pliku sesji. Próba nie wyszła... nic nie udało się ściagnąć

2. wynik zapisywałem w pliku zewnętrznym, a następnie za pomocą ajaxa, próbowałem odczytać tę wartość... próba znowu się nie udała.

Czy ktoś z Was miał kiedyś taki problem? jeśli tak to jak sobie z nim poradziliście.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kitol
post
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 26
Dołączył: 19.01.2007

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


Ja to zrobiłem mniej więcej tak:
1. wysyłam header strony
2. w headerze znajduje się JS, o którym napiszę poniżej
3. następnie po wykonaniu każdego zapytania do strony dopisuję jakiś specyficzny znacznik (na przykład $$$_000001) po każdym wykonanym zapytaniu wartość liczbowa się zwiększa. Wysyłam zawartość bufora do przeglądarki: ob_flush(); flush();

Javascript wysyłany w punkcie 2. Uruchamia mechanizm wywoływane co 1 sekundę, którego zadaniem jest wyszukiwanie w kodzie strony znaczników, i pobieranie wartości największego z nich. Gdy znam wartośc ostatniego znacznika rysuję pasek postepu (w JS oczywiście). Ajax jest niepotrzebny
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: 25.12.2025 - 21:38