Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql]Aktualizacja stronowa
Forum PHP.pl > Forum > Przedszkole
Dahred
Jak zrobić, aby strona, a właściwie jej kolumny aktualizowały się? Nie chodzi o to żeby się co chwila wczytywały, ale chodziły jak zegarek- co jakiś czas np. czegoś w danym skrypcie by przybywało, a potem update do mysql. Mam np. liczbę 1 i za pięć sekund ma być liczba 2.Oczywiście chodzi mi o to aby wynik był wyświetlany na stronie bez odświeżania, tylko widocznie się zmieniał, jak zegarek w js.
Kicok
Sposób pierwszy: Poważne zastanowienie się, czy nie można tego rozwiązać w inny sposób (np. JS, ale nie pobierający danych ze skryptu PHP)
Gdy to nie wypali pozostaje sposób drugi: AJAX, advAJAX
Dahred
no właśnie, good idea, czy polecacie tę księżkę http://helion.pl/ksiazki/ajaphp.htm ?
Istalacar
Witam

Przeczytałem, właściwie można ją przeczytać, ale motywem przewodnim jest ten skrypt:
  1. // przechowuje odwołanie do obiektu XMLHttpRequest
  2. var xmlHttp = createXmlHttpRequestObject();
  3.  
  4. // zwraca obiekt XMLHttpRequest
  5. function createXmlHttpRequestObject()
  6. {
  7. // przechowa odwołanie do obiektu XMLHttpRequest
  8. var xmlHttp;
  9. // jeśli uruchomiony jest Internet Explorer
  10. if(window.ActiveXObject)
  11. {
  12. try
  13. {
  14. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  15. }
  16. catch (e)
  17. {
  18. xmlHttp = false;
  19. }
  20. }
  21. // jeśli uruchomiona jest Mozilla lub inne przeglądarki
  22. else
  23. {
  24. try
  25. {
  26. xmlHttp = new XMLHttpRequest();
  27. }
  28. catch (e)
  29. {
  30. xmlHttp = false;
  31. }
  32. }
  33. // zwraca utworzony obiekt lub wyświetla komunikat o błędzie
  34. if (!xmlHttp)
  35. alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  36. else
  37. return xmlHttp;
  38. }
  39.  
  40. // wysyła asynchroniczne żądanie protokołem HTTP korzystając z obiektu XMLHttpRequest
  41. function process()
  42. {
  43. // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
  44. if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  45. {
  46. // pobiera imię wpisane przez użytkownika w formularzu
  47. name = encodeURIComponent(document.getElementById("myName").value);
  48. // wykonuje stronę quickstart.php na serwerze
  49. xmlHttp.open("GET", "quickstart.php?name=" + name, true);
  50. // definiuje metodę obsługi odpowiedzi serwera
  51. xmlHttp.onreadystatechange = handleServerResponse;
  52. // wysyła żądanie do serwera
  53. xmlHttp.send(null);
  54. }
  55. else
  56. // jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
  57. setTimeout('process()', 1000);
  58. }
  59.  
  60. // wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
  61. function handleServerResponse()
  62. {
  63. // kontynuuje jedynie jeśli transakcja została zakończona
  64. if (xmlHttp.readyState == 4)
  65. {
  66. // status 200 oznacza pomyślne ukończenie transakcji
  67. if (xmlHttp.status == 200)
  68. {
  69. // wyodrębnia wiadomość XML wysłaną z serwera
  70. xmlResponse = xmlHttp.responseXML;
  71. // pobiera element nadrzędny ze struktury pliku XML
  72. xmlDocumentElement = xmlResponse.documentElement;
  73. // pobiera wiadomość tekstową pierwszego potomka elementu document
  74. helloMessage = xmlDocumentElement.firstChild.data;
  75. // aktualizuje dane wyświetlane klientowi informacjami otrzymanymi z serwera
  76. document.getElementById("divMessage").innerHTML = '<i>' + helloMessage + '</i>';
  77. // ponawia sekwencję
  78. setTimeout('process()', 1000);
  79. }
  80. // dla statusu protokołu HTTP innego niż 200 zgłasza błąd
  81. else
  82. {
  83. alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
  84. }
  85. }
  86. }


i to tyle.
przykłady na ftp, czyli m.in ten skrypt (link z helionu, także chyba to nie jest piractwo):
ftp://ftp.helion.pl/przyklady/ajaphp.zip
W książce jest tylko tyle że jest wysłumaczone szerzej co i jak.

Pozdrawiam
Istalacar
skowron-line
Cytat(Dahred @ 26.03.2007, 16:22:37 ) *
no właśnie, good idea, czy polecacie tę księżkę http://helion.pl/ksiazki/ajaphp.htm ?


zdecydowanie nie mialem okazje przeczytac i ciesze sie ze niemusialem jej kupowac za wlasne pieniadze

duzo kodu marne opisy a co najgorsze tam sa pokazane przyklady jak zrobic konkretne rzeczy raptem 5, i to rzeczy ktore mozna na necie znalesc, no i jak napisal moj przedmowca wszystko kreci sie wokol jednego kodu.

polecam advAJAX lub MINTAJAX
Dahred
No to jaką książkę polecacie? Nie chodzi mi o jakiś skrypt, poprostu książkę do 60 zł.
strife
Cytat(Dahred @ 26.03.2007, 21:52:42 ) *
No to jaką książkę polecacie? Nie chodzi mi o jakiś skrypt, poprostu książkę do 60 zł.


Temat dotyczący książek jest już na forum, proszę o kontynuowanie w nim, w przeciwnym wypadku będę zmuszony zamknąć ten temat.

» Książki

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.