Показать сообщение отдельно
  #1 (permalink)  
Старый 11.08.2022, 20:37
Интересующийся
Отправить личное сообщение для dany994 Посмотреть профиль Найти все сообщения от dany994
 
Регистрация: 21.12.2015
Сообщений: 26

Получить данные с БД в реальном времени
Как правильно сделать когда данные в БД обновляются, у всех пользователей также они обновились моментально, без перезагрузки страницы?
Что-то по типу чата!

Есть к примеру такой код:

<div id="link_wrapper"></div>

<script>
function loadXMLDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("link_wrapper").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "server.php", true);
  xhttp.send();
}
setInterval(function(){
	loadXMLDoc();
	// 1sec
},1000);

window.onload = loadXMLDoc;
</script>

<?php 
include("connection.php");
 ?>
<table class="table">
			<thead>
				<th>Name</th>
				<th>Lastname</th>
				<th>Contact</th>
				<th>Address</th>
			</thead>
<?php 
	$query = mysqli_query($db, "SELECT * FROM tbl_info");
	while($row = mysqli_fetch_array($query)){

		$name = $row['name'];
		$lastname = $row['lastname'];
		$contact = $row['contact'];
		$address = $row['address'];
 ?>
			<tbody>
				<tr>
					<td><?php echo $name; ?></td>
					<td><?php echo $lastname; ?></td>
					<td><?php echo $contact; ?></td>
					<td><?php echo $address; ?></td>
				</tr>
			</tbody>
<?php 	} ?>
		</table>


Насколько я понимаю, запрос делается каждую секунду. Насколько это правильно и не будет это нагружать сервер сильно?
К тому же есть небольшая задержка!

Подскажите простой и работающий способ сделать это без задержки и без нагрузки на сервер?

P.S. если можно примером или готовым кодом, я совсем не силен в PHP!

Спасибо!
Ответить с цитированием