如何实时输出时数变化?(How to output in realtime when number

2019-10-18 03:50发布

我对输出的代码:

$tot_clicks6 = $db->FetchArray($db->Query("SELECT SUM(visits) AS sum_visits FROM surf"));

<?=$tot_clicks6['sum_visits']?>

是显示总数。

Answer 1:

你提的问题代表了PHP一个普遍的误解。 代码块

<?=$tot_clicks6['sum_visits']?>

只有在你的服务器代码。 当加载页面时,它就会充当HTML作为不管这变量的值。 例如,

6

为了实时更新你的页面,你需要使用AJAX。

看到这个问题

从使用JQuery / AJAX PHP文件获取变量



Answer 2:

或者你也可以使用一个实时的框架。 我对Realtime.co工作,我们做到这一点。

你可以得到一个免费许可www.realtime.co ,在得到PHP API http://www.xrtml.org/downloads_62.html#pubsub:php和使用应该广播信息的页面下面的代码(您管理页面,例如)。 注:此代码,你可以找到在Github上的ORTC例如(相同https://github.com/RTWWorld/pubsub-examples/tree/master/PHP适合您的需求)。

<?php
error_reporting(E_ALL);
session_start();
require('./ortc.php');

/* -------------------- */
/* REPLACE THESE VALUES */
/* -------------------- */
$URL = 'http://ortc-developers.realtime.co/server/2.1';
$AK = 'YOUR_APPLICATION_KEY';// your realtime.co application key
$PK = 'YOUR_APPLICATION_PRIVATE_KEY';// your realtime.co private key
$TK = 'YOUR_AUTHENTICATION_TOKEN';// token: could be randomly generated in the session
$CH = 'MyChannel'; //channel
$ttl = 180; 
$isAuthRequired = false;
$result = false;
/* -------------------- */
/*        END           */
/* -------------------- */

// ORTC auth
// on a live usage we would already have the auth token authorized and stored in a php session
// Since a developer appkey does not require authentication the following code is optional

if( ! array_key_exists('ortc_token', $_SESSION) ){    
    $_SESSION['ortc_token'] = $TK;       
}   

$rt = new Realtime( $URL, $AK, $PK, $TK );  

    // Your query
    $tot_clicks6 = $db->FetchArray($db->Query("SELECT SUM(visits) AS sum_visits FROM surf"));

if($isAuthRequired){
    $result = $rt->auth(
        array(
            $CH => 'w'
        ), 
        $ttl
    );//post authentication permissions. w -> write; r -> read
    echo 'authentication status '.( $result ? 'success' : 'failed' ).'<br/>';
}

if($result || !$isAuthRequired){
    $result = $rt->send($CH, tot_clicks6['sum_visits'], $response);
    echo ' send status '.( $result ? 'success' : 'failed' ).'<br/>';
}    

?>

在接收器页面,你需要接收数据,使用JavaScript和显示。 在这个例子中,我只是提醒与数据的用户。

<!doctype html>
<html>
<head>
</head>
<body>

    <script src="http://code.xrtml.org/xrtml-3.2.0.js"></script>
    <script>
        var appkey = 'YOUR_APPLICATION_KEY';
        var url = 'http://ortc-developers.realtime.co/server/2.1';
        var authToken = 'YOUR_AUTHENTICATION_TOKEN';
        var channel = 'MyChannel';

        xRTML.load(function(){

            xRTML.Config.debug = true;

            xRTML.ConnectionManager.create({
                id: 'myConn',
                appkey: appkey,
                authToken: authToken,
                url: url,
                channels: [
                {name: channel}
                ]
            }).bind({
                message: function(e) {
                    alert(e);
                }
        });
        });
    </script>
</body>
</html>

有了这个代码,你将不再需要使用AJAX之类的东西。 您可以将您的数据推到浏览器来代替。

希望能帮助到你!



文章来源: How to output in realtime when number is change?