-2

ライブ データベースについて質問があります。

つまり、データベースがその値を変更すると、ページにライブ チャットのようなものが直接表示されます。

    Language : Jquery + PHP

Example:

    MySQL Database:
    Table : user
    column : username,Status,Date,TodayOnline
    Data : [Kenny, Online,15/03/2013,0],[David, Offline,16/03/2013,1]

Action:

    When David going to online, it will show at page directly by using replace the "Kenny is now Online" with "David is now online"
    and show Today online time mean how many time he is only today.

Screen Show:

    David Is Now Online (Today Online : 1)

あなたが私の意味を理解してくれることを願っています.ajaxでそれを行う方法がわからない、またはajaxを毎秒実行する方法や、インスタント/ライブで表示するための他の良いアイデアを教えてくれる人はいますか?

前もって感謝します。

アップデート

これが私のコードJSです

$.ajax({
        type: "post",
        url: "/checkOnline.php",
        cache: false,
        data:{ date: $("#date").val(),time: $("#time").val()},
        success: function(responds){
            var obj = JSON.parse(responds);
                try{
                    ('#online').text(responds+" Is Now Online");
                }catch(e){      
                    alert('Exception while request..');
                }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
                    alert(XMLHttpRequest.status);
                    alert(XMLHttpRequest.readyState);
                    alert(textStatus);
        }
    });

ここと私のインデックスコードは、現在の日時を取得するために非表示の入力ボックスを追加しています。

        <input name="date" id="date" value="<?= date('Y-m-d') ?>" style="display:none"/>
        <input name="time" id="time" value="<?= date('H:i:s') ?>" style="display:none"/>

これは私のcheckOnline.phpです

<?php
$query = "Select username FROM user WHERE status='online'";
$result = mysql_query($query);

echo json_encode($result)
?>

誰かがjqueryを使用してページをロードしたときにajaxを実行しますが、これは悪い考えだとわかっていますが、それをライブにする方法がわかりません。

ありがとう

4

2 に答える 2

0

基本的に、永続性とリアルタイム更新の錯覚を与えるためには、本格的な開発を行う必要があります。

しかし、データの更新としてリアルタイム ビュー レンダリングに実際に取り掛かっている JavaScript の領域があります。

于 2013-03-15T19:39:07.123 に答える
0

Push Or Cometテクノロジーを実装する必要があります。コメントを実装する方法の詳細については、これPHPをチェックしてください

于 2013-03-15T19:39:41.817 に答える