Как обновить данные c из БД с заданной периодичностью c - PullRequest
0 голосов
/ 23 апреля 2020

Как сохранить информацию об обновлении, если пользователь получил новые уведомления?

Когда страница открыта, она включает содержимое pageTop. php. Там он проверяет базу данных, если есть какие-то непроверенные уведомления. И загружает note_NO или note_YES в базу запроса.

Как можно получить новую информацию в определенный период времени?

Следующая страница работает при загрузке страницы или обновлении sh. Но я не хочу перезагружать заголовок. php каждый раз.

заголовок. php:

<?php include_once("pageTop.php");?>
<div id="pageMidle"></div>
<div id="pageFoot"></div>

pageTop:

$sql = "SELECT id FROM note WHERE user='$l_user' AND did_read ='0' ";
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_row($query);

$nrows = mysqli_num_rows($query);
if ($numrows == 0) {
    $envelope = '<a href="notifications.php" title="No notifications"><img src="images/note_NO.jpg" width="30" height="30" alt="Notes"></a>';
} else {
    $envelope = '<a href="notifications.php" title="You have new notifications"><img src="/images/note_YES.gif" width="30" height="30" alt="Notes"></a>';
}      

html:

  <div id="envolopeDIV">
          <?php echo $envelope; ?> 
      </div>

1 Ответ

0 голосов
/ 23 апреля 2020

Вы можете использовать сеанс для отслеживания времени между запросами в бэкэнде. Если указанный период времени прошел, включите фрагмент для запроса базы данных.

session_start();
const TIME_PERIOD = 123456;
$currentTimestamp = time();
$previousTimestamp = $_SESSION['previous_timestamp'] ?? 0;
if ($previousTimestamp + TIME_PERIOD > $currentTimestamp) {
    // check notifications
}
$_SESSION['previous_timestamp'] = $currentTimestamp;
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...