Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML, AJAX _ Odświeżanie tabeli z danymi bez przeładowania strony

Napisany przez: rogalskiartur 4.05.2018, 17:14:44

Witajcie.
Na wstępie napiszę, że to mój pierwszy post i od razu wytłumaczę, że JS i Ajax to dla mnie czarna magia (chosć próbowałem się nauczyć)
HTML , PHP i MySQLa jakoś ogarniam i jest dla mnie logiczny ale JS nic a nic.

Problem polega na tym, że mam stronę w PHP na której jest tabelka, do której są pobierane z bazy danych wyniki produkcji z maszyny. Potrzebuję, aby ta tabela odświeżała się co jakiś czas (powiedzmy co 5 min) i aktualizowała wyniki produkcji (oczywiście bez przeładowania całej strony).
Kupiłem kurs AJAX ze strony https://strefakursow.pl/ , ale nic mi to nie dało i nadal tego nie rozumiem ( choć wszędzie piszą, że to bardzo łatwe).

Zastanawiam się nad kupnem kursu JS, ale jeśli będzie taki sam jak AJAX to tylko wyrzucę pieniądze w błoto.

Pomóżcie proszę.
Dzięki

Napisany przez: trueblue 4.05.2018, 17:17:58

Tu jest za darmo: https://stackoverflow.com/questions/5681380/refresh-a-table-with-jquery-ajax-every-5-seconds

Napisany przez: rogalskiartur 4.05.2018, 17:45:27

Przy zastosowaniu kodu z poprzedniej odpowiedzi
Wywala mi błąd składni w wierszu 3

  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. refreshTable();
  4. });
  5.  
  6. function refreshTable(){
  7. $('#tablica_dzis').load('tablica_dzis.php', function(){
  8. setTimeout(refreshTable, 5000);
  9. });
  10. }
  11. </script>

Napisany przez: trueblue 4.05.2018, 18:14:08

Pokaż dokładnie jaki błąd.

Dołączyłeś jQuery?

Napisany przez: rogalskiartur 5.05.2018, 12:59:18

nie nie dołączyłem.
Już dziś idę do pracy(nocka niestety) ale zajmę się tym jutro. Proszę odwiedź temat jutro.

Dołączyłem JQuery i zadziałał następujący kod:

HTML:

  1. <http://december.com/html/4/element/div.html class="result"></http://december.com/html/4/element/div.html>
  2.  
  3. setInterval(function() {
  4.  
  5. $.get('test.php', function(data) {
  6. $('.result').html(data);
  7. });
  8.  
  9. }, 5000);


ALe tabelka ładuje się dopiero po 5 s.
Czy da się zrobić, żeby załadowała się od razu po otwarciu przeglądarki i dopiero odświeżała co 5s.?


Napisany przez: trueblue 5.05.2018, 13:47:28

Użyć funkcji. I wywołać ją poza setInterval, jak i wewnątrz.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)