![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ajax nie jest potrzebny. Wszystko działa podczas jednego długiego ładowania strony. Wygląda to w ten sposób, że po wysłaniu tego co nazwałem "headerem" a więc nagłówka strony z javascriptem zaczyna się on wykonywać cyklicznie. Mamy więc tak jakby dwa równolegle działające procesy: z jednej strony serwer wykonujący zapytania i po każdym dopisujący do treści informacje (znaczniki) 2. działający cyklicznie JS odbierający i analizujacy informacje (znaczniki). Cała filozofia opiera się o to, że JS zaczyna działać zanim ładowanie całej strony zostanie ukończone.
EDIT: Wygrzebałem kod:
specjalnie nie ukrywałem diva ze znacznikami (id="ukryj") bo lepiej widać jak to działa. Ten post edytował kitol 14.04.2008, 14:12:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 17:32 |