我正在尝试基于HTML5的通知系统,基于我的数据库中的表发生什么时。我已专门为此通知功能制作了表格。这是它的工作原理:
sse.html
)将引用source.php
作为其通知内容。action.php
包含通过将数据插入表格来触发更改内容通知的操作。source.php
会定期检查表格中的新数据。它应该通过通知,如果有的话。我的问题是,如果不检查表格就可以这样做吗?
我正在考虑使用cURL在source.php
执行操作时直接将内容发送到action.php
。可以这样做吗?
我见过将cURL与HTTP标头Content-Type
设置为text/event-stream
一起使用,但我不确定如何使用它。
sse.html
<!DOCTYPE html>
<html>
<body>
<script>
var source = new EventSource('source.php');
source.onmessage = function(event){
var text = event.data;
window.webkitNotifications.createNotification('', 'Alert', text).show();
}
</script>
</body>
</html>
source.php
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
mysql_connect("localhost", "user", "pass");
mysql_select_db("eventstream");
$q = mysql_query("select textnotif from notification where read='0'");
$r = mysql_fetch_array($q);
$notif = $r[textnotif];
if($notif != ""){
echo "data: ".$notif.PHP_EOL;
}
答案 0 :(得分:1)
回答你的问题:
......是否可以在不查看表的情况下执行此操作?
没有
您的PHP脚本已检查SQL表以查看是否有任何数据已更改。 PHP可以检查数据库更改的唯一方法是查询数据库。