Обновите таблицу с помощью jQuery / Ajax каждые 5 секунд.

Поэтому у меня есть таблица, извлекающая информацию из базы данных, и мне было интересно, как я могу ее обновить, не перезагружая всю страницу.

Вам понадобится страница getTable.php , отображающая вашу таблицу, и ничего больше: никаких заголовков, нижних колонтитулов и т. Д.

PHP (getTable.php) – это может быть любой код на стороне сервера (asp, html и т. Д.)

 <?php echo '<table><tr><td>TEST</td></tr></table>'; ?> 

Затем в вашем JS вы можете легко обновить таблицу с помощью метода load() :

HTML

 <div id="tableHolder"></div> 

JS

 <script type="text/javascript"> $(document).ready(function(){ refreshTable(); }); function refreshTable(){ $('#tableHolder').load('getTable.php', function(){ setTimeout(refreshTable, 5000); }); } </script> 

Используйте ajax, следующий пример в jQuery:

 $(function() { var prevAjaxReturned = true; var xhr = null; setInterval(function() { if( prevAjaxReturned ) { prevAjaxReturned = false; } else if( xhr ) { xhr.abort( ); } xhr = $.ajax({ type: "GET", data: "v1="+v1+"&v2="+v2, url: "location/of/server/script.php", success: function(html) { // html is a string of all output of the server script. $("#element").html(html); prevAjaxReturned = true; } }); }, 5000); }); 

Функция успеха предполагает, что ваш серверный сценарий выводит html, который вы хотите заменить в элементе с id 'element'.

У вас должна быть страница, которая возвращает информацию и извлекает данные с помощью Ajax / jQuery.

 <div class="result"></div> setInterval(function() { $.get('test.php', function(data) { $('.result').html(data); }); }, 5000); 

Вот еще один вариант для вас. Это решение использует IIFE, который является предпочтительным по сравнению с setInterval. Вы можете узнать больше о IIFE по ссылке выше.

JAVASCRIPT:

 var $results = $('#results'), loadInterval = 5000; (function loader() { $.get('script.php', function(html){ $results.hide(200, function() { $results.empty(); $results.html(html); $results.show(200, function() { setTimeout(loader, loadInterval); }); }); }); })(); 

HTML:

 <div id="results"></div> 
 setTimeout(function(){ jqueryFunction(Args); },100); 

будет работать…

100 = 100 миллисекунд

Следующие работы с JQuery Datatables 1.10

 `var tableName; //Set AJAX Refresh interval. $(function() { setReloadInterval(10); //Refresh every 10 seconds. } //Because function takes seconds we * 1000 to convert seconds to milliseconds. function setReloadInterval(reloadTime) { if(reloadTime > 0) internalId = setInterval("reloadTable()", (reloadTime * 1000); } //Auto Refresh JQuery DataTable function reloadTable() { tableName.ajax.reload(); } //Table defined... $(document).ready(function () { tableName = $('#tableName').DataTable({ "sAjaxSource": "/someUrl", });`