javascript — живые изменения на сайте

Я пытаюсь сделать php-файл, в котором я буду отправлять данные из базы данных, и через них я покажу 0 или 1. В моем примере у меня есть таблица с двумя user_ids и параметром in который принимает значение 0 или 1. Из test.php Я заполняю форму, указав user_id, и отправляю ее. Когда я отправляю это для этого пользователя параметр in становится 0, если это было 1, и наоборот. В next.php я использую <iframe src="show.php"> И в show.php Я показываю user_id а также in, То, что я хочу, это когда я отправляю user_id, немедленно, чтобы увидеть изменения в show.php. Я постоянно обновлял страницу, но это было слишком тревожно. Можете ли вы предложить что-то еще? Вот код

test.php

<?php
require_once 'include_php/db.php';
global $dbcnx;
?>
<form action="" method="get">
<input type="text" name="id"/>
<input type="submit" name="submit"/>
</form>

<?php

if(isset($_GET['submit']))
{
$id = $_GET['id'];
$res = mysqli_query($dbcnx, "select * from people where uid = ".$id.";");
$row = mysqli_fetch_array($res);

if($row['in'] == 0) $up = mysqli_query($dbcnx, "UPDATE `people` SET `in`=1 WHERE uid=".$id.";");
else $up = mysqli_query($dbcnx, "UPDATE `people` SET `in`=0 WHERE uid=".$id.";");
}

show.php

<?php
require_once 'include_php/db.php';
global $dbcnx;

$res = mysqli_query($dbcnx, "select * from people");

while($row = mysqli_fetch_array($res))
{
echo $row['uid']." ".$row['in']."<br/>";
}

print "<script>window.location.replace('show.php');</script>"; //here is the disturbing refresh

next.php

<iframe src="show.php">

1

Решение

То, что вы хотите, это живые обновления без жесткого обновления вашей страницы. Вы можете достичь этого с помощью AJAX запросы, или с помощью WebSockets.

С помощью ajax-запроса вы можете легко установить функцию тайм-аута для обновления вашего iframe каждые x секунд / минут.

Этот вопрос дает хорошее описание о том, как это сделать.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]