Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dynamiczne odświeżanie pola w tabeli
Forum PHP.pl > Forum > XML, AJAX
koksu
Cześć

Ma sobie tabelkę w datatables, obecnie 200 rekordów, docelowo kilkanaście tysięcy. W niej są komputery uzytkownikow wraz z IP, nazwa usera itp. Jest tez pole online. Chcialbym moc je aktualizowac bez odswiezania calej strony bo jak wiadomo caly order z datatables, wyniki wyszukiwania itp ulegaja utracie. Zrobilem prosty skrypcik ktory po wywolaniu online.php?id=id_komputera zwraca "Online" albo "offline". Chcialbym jeszcze za pomoca klikniecia przycisku przy odpowiednim polu w tabelce moc aktualizowac status online tego konkretnego komputera bez przeladowywania calej strony. Czy moglbym prosic o poradnik krok po kroku jak to zaprogramowac?
SmokAnalog
W dokumentacji DataTables masz opisane: Ajax sourced data

Na pewno nie powinieneś mieć API, które zwraca dane jednego elementu, bo request trwa zbyt długo, żeby odświeżać po jednym. Lepiej byłoby zwracać kilka naraz lub nawet wszystkie naraz.
koksu
No nie wiem, bo zeby zwrocic staus komputera serwe najwpierw musi go zpingowac a pingowanie kilku tysiecy urzadzen trwaloby zbyt dlugo.

Bo to nie tylko chodzi o zaladowanie danych do tabelki ale tez zlecene serwerowi zupdatowania konkretnego rekordu.
SmokAnalog
Przede wszystkim polecam pingować wiele urządzeń naraz. Nie zrób tego błędu co ja kiedyś przy tworzeniu crawlerów, kiedy odwiedzałem jeden adres, czekałem i dopiero po otrzymaniu odpowiedzi pingowałem kolejny. Nie wiem dokładnie co tworzysz, ale może warto pingować te rekordy, które są akurat na ekranie? Jeśli sprytnie to zaimplementujesz, to dostaniesz całkiem żwawo odświeżającą się tabelę.
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-2024 Invision Power Services, Inc.