Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] wywołanie funkcji
Forum PHP.pl > Forum > XML, AJAX > AJAX
grzegorz_g
moja wiedza z ajax'a jest skromna ale na podstawie tutoriali i przykładów udało mi się zrobić stronę z wynikami bez odświeżania. Wyniki pobieram z mysql'a poprzez coś takiego

  1. function advAJAXGet(){advAJAX.get({ tag: "layer1", url: "f1live_ajax.php" });}
  2.  
  3.  
  4. advAJAXGet();
  5.  
  6.  
  7. window.setInterval(advAJAXGet,30000);


chodziło by mi jednak o coś takiego by wywołanie funkcji advAJAXGet() nie odbywało się automatycznie co 30sek tak jak teraz, lecz w momencie aktualizacji bazy danych.

PS. Nie wiem nawet czy to jest wykonalne, jeżeli tak a kod nie niest zbyt skomplikowany proszę i pomoc
Cezar708
Nie jest możliwe aby kod po stronie klienta wykonywał się w momencie gdy zostanie zaktualizowana baza danych po stronie serwera, Jedyne co możesz zrobić to dokładnie tak jak teraz sprawdzać co jakiś czas i jeśli nastąpią jakieś zmiany możesz wtedy pobrać wynik. Skrypt po strnie serwera nie może sam na własne żądanie połączyć się z wygenerowaną stroną u klienta.
grzegorz_g
a teraz jeszcze taki mi pomysł chodzi po głowie, czy dla zmiejszenia transferu na serwerze, można by było zrobić w ten sposób by w pliku f1live_ajax.php zrobić tylko warunek sprawdzający datę update bazy i gdy jest ona wyższa od wcześniejszej zrobić include "serca kod";


wtedy kod pobierany przez
  1. window.setInterval(advAJAXGet,1000);

pobierał by tylko plik o kilku znakach (a to znacznie ograniczyło by zużycie transferu):
  1. <?php
  2. if ($data_stara<$data_nowa) { include ("plik_z_kodem.php");}
  3. ?>



czy moje rozumowanie jest trafne , proszę o opinie
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.