0

PHPを使用してオンラインクリニック登録システムを設定しています。システムには、患者と診療所という2つの異なるユーザーグループがあります。患者は利用可能な診療所から選択し、登録時に、患者には一意のキュー番号が発行されます。私はすでにこれらすべてを行いましたが、患者ユーザーから新しい登録を受け取ったときにクリニックのユーザーにアラートを作成するにはどうすればよいですか?このアラートは、Webページを更新せずにクリニックに新しい登録を通知するためのものです。

4

2 に答える 2

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>

次に、クリニックのWebページで開始します。

<body onload="startItUp();">

注:この方法は、いくつかのWebアプリケーションで問題なく機能しましたが、私の個人的な経験から、XMLHttpRequestを実行するクリニックが多数(数百と言う)ある場合、安価で一般的な共有ホスティングを使用していると、サーバーリソースの問題が発生します。このため。

于 2013-03-18T16:40:31.850 に答える
0

Ajax を使用して、サーバーから最新の (または未読の) 通知をフェッチします。この Ajax は、ログインしている診療所ユーザーのブラウザーから定期的に送信できます。
オンラインでない場合は、クリニックにメールで送信することもできます。

于 2013-03-18T15:33:13.327 に答える