我正在开发一个仪表板,它也有通知,所以我计划用ajax,php,mysql.i进行实时通知。这使得它成为可能,但mysqli(来自php)读取从数据库获取结果的速度很慢,下面是我的代码
这是我在index.php上的javascript代码:
comres = {
connect: function() {
return $.ajax({
url: 'read_notification.php',
type: 'POST',
success: function(evt, request) {
alert(evt);
},
complete: function() {
comres.connect();
}
});
}
}
$(document).ready(function() {
comres.connect();
});
下面是我的read_notification.php
<?php
require_once("db.php");
$query=mysqli_query($db,"select * from notifications");
while(mysqli_num_rows($query) < 1)
{
}
$query1 = mysqli_query($db,"select * from notifications");
$row = mysqli_fetch_array($query1);
$id=$row['id'];
$notification=$row['notification'];
echo "you have a notification ".$notification
mysqli_query($db,"delete from ticket.handover_response where id='$id'");
?>
以下是工作流程
read_notification.php
index.php
这里没有问题是工作流程但是我在数据库上有记录之后有延迟(php不是从数据库突然读取,它在几秒钟之后工作),请说明理由或解决方案,谢谢
答案 0 :(得分:0)
试试这个
$(document).ready(function() {
setInterval(function(){
//set up an ajax request every 2 sec
comres.connect();
},2000);
});
在您的php中,只需显示基于某个标志变量的新通知。即如果用户点击通知,则将标志设置为1(不再显示),否则将其标记为零。