如何显示数据库直播

时间:2013-03-15 19:31:38

标签: jquery mysql ajax

我对实时数据库有一些疑问。

这意味着当数据库更改该值时,该页面将直接显示为Live Chat。

    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 但我知道这是一个坏主意,但我不知道如何让它生效。

由于

2 个答案:

答案 0 :(得分:0)

基本上,为了给出持久性和实时更新的假象,你需要做一些认真的开发。

但是有一些javascript领域真正进入实时视图渲染数据更新:谷歌搜索“骨干”和“骨干木偶”和“pubsub javascript”和“彗星”

答案 1 :(得分:0)

您需要实施PushComet技术。有关如何在PHP中实施评估的详情,请查看this