javascript - 如何在特定时期从数据库更新特定数据
问题描述
如果用户收到新通知,有什么方法可以保持更新信息?
打开页面时,它包含 pageTop.php 的内容。如果有一些未经检查的通知,它会在那里检查数据库。并在查询的基础上加载 note_NO 或 note_YES。
在特定时间段获得新信息的方法是什么?
下一页适用于页面加载或刷新。但我不想每次都重新加载 header.php。
头文件.php:
<?php include_once("pageTop.php");?>
<div id="pageMidle"></div>
<div id="pageFoot"></div>
页面顶部:
$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>
解决方案
您可以使用会话来跟踪后端请求之间的时间。如果您指定的时间段已过,请包含用于查询数据库的代码段。
session_start();
const TIME_PERIOD = 123456;
$currentTimestamp = time();
$previousTimestamp = $_SESSION['previous_timestamp'] ?? 0;
if ($previousTimestamp + TIME_PERIOD > $currentTimestamp) {
// check notifications
}
$_SESSION['previous_timestamp'] = $currentTimestamp;
//...
推荐阅读
- android - Android:改造 500 内部服务器错误
- c - 使用 SSE 和/或 AVX 有条件地翻转浮动符号
- java - Netbeans 的项目属性中缺少打包
- r - 我可以在不使用 apply 的情况下附加这个字符向量吗?
- heroku - 在 Heroku,Phaser 2 上部署后未加载文件
- python - 如何编写一个将运算符放在数字之间的函数?
- node.js - 如何在 azure 中使用 docker-compose 部署 graphql API
- windows - 使用 MSVC 工具生成裸机二进制文件的过程是什么?
- python - tkinter 中的按钮 - 单击时:显示其背后的内容
- python - 为什么 Python 不从封闭变量范围切换到局部变量范围?