Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Skrypt php i progress bar
-nieswiadomy :)-
post
Post #1





Goście







Witajcie drodzy użyszkodnicy (IMG:style_emoticons/default/smile.gif)

Piszę pewien systemik webowy (php i inne mądre rozwiązania) do którego dopisałem możliwość wysyłania maili (phpmailer), jako że maile mają wysyłać się w pętli i ma ich być dość dużo zamierzam napisać jakiś progress bar.

Zastanawiałem się nad użyciem funkcji flush, ale to chyba mało eleganckie rozwiązanie. Myślałem też nad tym aby wyniki zapisywać do bazy z jakimś niedużym sleep'em, a skrypt progress bara czyli jakiś ajax i js lub jq miałby sobie te wyniki z bazy wypluwać na ekran w postaci ładnego paska. Po całej operacji wywoływany byłby truncate wyników w bazie.

Co wy na to? Jaki jest standard tworzenia takich progress barów?

Z góry dzięki za odp. pozdrawiam.
Go to the top of the page
+Quote Post
foqz
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.01.2009

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


Chciałbym odświeżyć temacik.

Od kilku dni spędza mi sen z powiek zrobienie preloadera/paska postępu/lub innej informacji graficznej lub tekstowej dla użytkownika na czas wykonania całego skryptu php. Czas wykonania całego skryptu to około 5-8sek. Korzystam z phpmailera, który wysyła w tym skrypcie dwie różne wiadomości e-mail (niestety chwilę to trwa) a następnie wykonuje funkcje, które ładują frontend. Nie chciałbym, aby użytkownicy nieświadomie przerywali skrypt zamykając okno przeglądarki, lub klikając np. "Wyloguj".

Wypróbowałem kilka js preloader'ów, ale żaden nie przynosi porządanego efektu, czyli:
- po uruchomieniu skryptu pojawia się informacja graficzna/tekstowa/lub przyciemnienie strony
- po pełnym wykonaniu skryptu i załadowaniu strony informacja ta znika

Z góry dziękuję za wszelkie sugestie.
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


słowo klucz jquery. podczas wysyłania skryptu pokazujesz div (zakładam że wysyłasz form, ajaxem), gdy żądanie zostanie zakończone, chowasz div. W dokumentacji jquery, odnośnie ajax() masz opisane dokładnie czego użyć starcie i zakończeniu połaczenia.
Go to the top of the page
+Quote Post
foqz
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.01.2009

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


Dziękuję za naprowadzenie (IMG:style_emoticons/default/smile.gif)

Dla potomnych zacytuję kod testowy, w którym osiągnąłem upragniony efekt (IMG:style_emoticons/default/smile.gif)

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>Test</title>
  4. <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
  5.  
  6. <script type="text/javascript">
  7. $.ajax({
  8. url: 'test.php'
  9. });
  10.  
  11. $(document).ready(function()
  12. {
  13.  
  14. $("#loader").bind("ajaxSend", function(){
  15. $(this).show();
  16. }).bind("ajaxComplete", function(){
  17. $(this).hide();
  18. });
  19.  
  20.  
  21. });
  22. </head>
  23. <div id="loader">Loading...</div>
  24. <div id="container">
  25. <img src="http://img1.oferia.pl/80aaa39cf3e6b7cc46474c7ad0855e90.png" />
  26. </div>
  27. </body>
  28. </html>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 07:57