在注册时为所选用户创建警报

时间:2013-03-18 15:27:58

标签: php notifications alert

我正在建立一个使用PHP的在线诊所注册系统。该系统具有两个不同的用户组,即患者和诊所。患者将从可用的诊所中进行选择,并在注册时向患者发放唯一的队列号。我已经做了所有这些,但我现在需要知道的是,当他们从患者用户那里收到新的注册时,如何向诊所的用户创建警报?此警报是在不刷新网页的情况下通知诊所新的注册。 / p>

2 个答案:

答案 0 :(得分:0)

使用Ajax从服务器获取最新(或未读)通知。可以从登录的诊所用户的浏览器定期发送此Ajax 如果诊所不在线,您也可以通过电子邮件发送给该诊所。

答案 1 :(得分:0)

我会使用“XMLHttpRequest”来执行此操作。在诊所的网页上,我会得到类似这样的javascript:

<script type="text/javascript">
var comm = new Array(), frameTime = 0, regTime = 0;

function startItUp(){
    animate();
}

window.requestAnimFrame = (function(){//from Paul Irish
    return  window.requestAnimationFrame       || 
    window.webkitRequestAnimationFrame || 
    window.mozRequestAnimationFrame    || 
    window.oRequestAnimationFrame      || 
    window.msRequestAnimationFrame     || 
    function(callback, element){
        window.setTimeout(callback, 1000 / 60);
    };
})();
function animate() {
    frameTime = Date.now();
        if(regTime < frameTime){
            comm.push( new getRegistrants() );
            regTime = frameTime + 8000;//how often to call the php page and check for new patients
        }
    }
    requestAnimFrame( animate );
}
function getRegistrants(){
    this.client = new XMLHttpRequest();
    this.client.onload  = function () {
        var registrantData = this.responseText;
        //Parse the registrant data displayed by php page here and make the alert or div popup...
        alert(parsedRegistrantName + ' has registered.');

    }
    this.client.open('POST', 'getRegistrants.php');//This page would have a session that would contain your logged in clinic's ID and would just output registrant(patient) data that you can parse
    this.client.send();
}
</script>

然后在诊所的网页上启动它:

<body onload="startItUp();">

注意:这种方法对我来说在几个Web应用程序中运行良好但是,根据我的个人经验,如果您有许多诊所(几百个说)执行XMLHttpRequest,那么如果您有便宜/那么您将遇到服务器资源问题共同主持此事。