Как выводить в реальном времени, когда число меняется?

У меня есть этот код для вывода:

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

а также

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

отображается общая сумма.

Ваш вопрос представляет собой распространенное заблуждение с PHP. Блок кода

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

Это только код на вашем сервере. Когда страница загружается, она получает HTML как любое значение этой переменной. Например,

 6 

Чтобы обновить вашу страницу в реальном времени, вам необходимо использовать AJAX .

См. Этот вопрос

Получить переменную из файла PHP с помощью JQuery / AJAX

Или вы можете использовать рамки реального времени. Я работаю в Realtime.co, и мы делаем именно это.

Вы можете получить бесплатную лицензию на сайте http://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 или что-то в этом роде. Вместо этого вы сможете переносить свои данные в браузеры.

Надеюсь, поможет!