![]() |
![]() |
![]()
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%) ![]() ![]() |
Nie mam w tym momencie dostępu do tego kodu, więc gotowca ci nie dam.
Pisząc header miałem na myśli <HEAD></HEAD>. Tam umieszczam JS z funkcją która wykonuje się cyklicznie co sekundę i wyszukuje w kodzie strony (dokładnie w innerHTML jakigoś elementu np.DIV-a ostatniego wystąpienia znacznika). Wartość liczbowa za znacznikiem odpowiada numerowi wykonanego zapytania). Ważne jest aby po każdym wykonaniu zapytania zawartość bufora została wysłana do przeglądarki. Element do którego wpisujemy znaczniki w trakcie wykonywania skryptu powinien być ukryty (za pomoca css). Schemat jak ma wyglądać wysyłana strona: <HTML> <HEAD> <script tytaj dajemy skrypt> </HEAD> <BODY> <DIV id="postep"> tutaj pojawiają się co chwila nowe znaczniki określające postęp $$$_000000 $$$_000001 $$$_000002 $$$_000003 $$$_000004 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 06:33 |