![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.09.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam..
Z góry przepraszam za być może trywialne pytanie (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) ale nigdzie nie potrafię znaleźć na nie odpowiedzi. Temat wydaje sie prosty i być może taki jest (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) . Często zachodzą przypadki, że skrypt przykładowo długo przeszukuje bazę i wtedy na ekranie, po wybraniu jakiejś opcji, nic się nie pojawia przez dłuższy czas. Chciałbym mieć możliwość wyświetlenia w tym czasie jakiegoś ekranu w stylu: "Proszę czekać". Kłopot w tym, że przeglądarka wyświetli taką stronę dopiero po zakończeniu całego skryptu (po zakończeniu szukania). Drugi, podobny przypadek, to wyświetlanie na bieżąco kolejnych informacji o postępie w działaniu skryptu, np: "Etap1, Etap2..". Normalnie, takie komunikaty wysyłane przez echo, będą wyświetlone dopiero po zakończeniu skryptu. Co zrobić, żeby były wyświetlane na bieżąco? Z góry dziękuję za porady (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) pozdrowienia, Tomek |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
To jest sprawa zalezna czesciowo od przegladarki. Np. taki IE sobie buforuje sam i dopoki nie dostanie pewne ilosci znakow to nie wyswietli niczego, nie wyswietli tez niedokonczonej tabelki (chyba, ze dzialanie skryptu zostanie przerwane i nic juz wiecej nie dostanie). Pod FF o ile pamietam nie ma domyslnie buforowania, wiec mozna sobie wyswietlac php'owy pasek postepu (bo zapewne o cos takiego Ci chodzi) bez problemu. Nie wiem jak z Opera. Co do wielkosci bufora w IE to musisz sobie sam do tego dojsc, ja juz nie pamietam tej wartosci, ale z tego co kojarze moglo to byc 256 albo 512. Wiec na poczatku skryptu musisz wyslac do przegladarki jakies nieznaczace znaki (np. spacje) w tej ilosci, a dopiero potem zawartosc wlasciwa, ktora ma byc wyswietlana stopniowo. Dodatkowo po kazdym kroku w php, ktory powoduje jakies wyswietlenie danych powinienes wywolac funkcje flush" title="Zobacz w manualu php" target="_manual (w komentarzach do tej funkcji tez ma co nieco opisane, poczytasz i bedziesz wszystko wiedzial).
A swoja droga to, ze nikt nie odpowiedzial na Twoj temat nie oznacza jeszcze, ze mozesz sobie zakladac drugi traktujacy o tym samym. Radze dokladniej przestudiowac regulamin, na ktory sie zgodziles (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Narazie pierwsze upomnienie.. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 15:42 |